PS32 [C++] 백준 10026 - 적록색약 백준 10026 : 적록색약 난이도 : 골드 5 시간 : 17분 소요 문제 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 풀이 과정 bfs를 사용하면 쉽게 풀 수 있는 문제이다. 적록색약인 경우와 아닌 경우를 구별하기 위해 2개의 함수, 2개의 2차원 배열을 사용했다. 적록색약이 아닌 경우에는 방문하지 안한 rgb를 방문하여 인접 노드가 같은 색일 때만 방문처리하고, 큐에 넣는다. bfs1 함수는 방문하지 않은 노드일 때만 실행되기 때.. 2023. 3. 1. [C++] 백준 1107 - 리모컨 백준 1107 : 리모컨 난이도 : 골드 5 시간 : 1시간 소요 문제 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 풀이 과정 이동하려는 채널을 기준으로 모든 경우를 탐색하면 되는 문제이다. abs() 이나 to_string()을 사용하지 않고 하려니 코드가 많이 지저분해지고, 구석구석 오류가 좀 생겼다. 그래서 반례를 찾느라 40분은 쓴 것 같다. 해결 과정은 간단하다. 1. 현재 채널에 고장난 버튼이 있는지 확인 2. 없.. 2023. 3. 1. [C++] 백준 16236 - 아기상어 백준 16236 : 아기상어 난이도 : 골드 3 시간 : 1시간 30분 소요 문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 풀이 과정 문제를 이해하고, 어떻게 풀어야 할 지 생각하는데는 오랜 시간이 걸리지 않았지만 구현 및 디버그하는데 많은 시간을 사용했다. 초기 과정 먼저 크게 bfs를 사용해서 구현할 수 있다. 처음에는 next 라는 벡터를 사용하지 않았다. 왜냐하면 위, 왼, 오른, 아래 순서로 탐색순서만 조정한다면 문제가 .. 2023. 3. 1. [C++] 백준 1707 - 이분 그래프 백준 1707 : 이분 그래프 난이도 : 골드 4 시간 : 1시간 소요 문제 https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 풀이 과정 bfs를 사용해서 풀 수 있는 문제이다. 초기에는 2차원 배열로 풀어볼까 생각했지만 입력값의 크기가 2만이라 2차원 배열을 만들면 제한 용량을 넘긴다. 그래서 vector board[MAX] 로 1차원 배열로 벡터를 만들어서 구현했다. 먼저 입력 t1,t2를 받으면 t1,t2 배열에 각각 저장한다. 그 후 1번.. 2023. 3. 1. 이전 1 2 3 4 5 6 7 8 다음