BOJ-10026 적록색약
https://www.acmicpc.net/problem/10026 문제 소개 R(빨강), G(초록), B(파랑)으로 이루어진 그림의 정보가 주어진다. 그리고 같은 색상이 상하좌우로 인접해 있는 경우 같은 구역이라고 정의하였다. 그림을 적록색약인 사람과 적록색약이 아닌 사람이 봤을 때 몇 개의 구역으로 나뉘어지는지 출력한다. 적록색약인 사람을 ...
https://www.acmicpc.net/problem/10026 문제 소개 R(빨강), G(초록), B(파랑)으로 이루어진 그림의 정보가 주어진다. 그리고 같은 색상이 상하좌우로 인접해 있는 경우 같은 구역이라고 정의하였다. 그림을 적록색약인 사람과 적록색약이 아닌 사람이 봤을 때 몇 개의 구역으로 나뉘어지는지 출력한다. 적록색약인 사람을 ...
https://www.acmicpc.net/problem/7662 문제 소개 이중 우선순위 큐는 우선순위 큐처럼 데이터를 삽입, 삭제할 수 있는 자료구조이며 삭제 시 우선순위가 가장 높은 데이터와 가장 낮은 데이터를 선택하여 삭제가 가능하다. 정수만 저장하는 이중 우선순위 큐가 있을 때, 일련의 연산을 진행한 후 최종적으로 이중 우선순위 큐에 저...
https://www.acmicpc.net/problem/11057 문제 소개 수의 자리가 오름차순을 이루는 수를 오르막 수라고 한다. 수의 길이 n이 주어졌을 때, 오르막 수의 개수를 구한다. 문제 풀이 dp로 풀이하였다. 리스트 dp는 2차원 리스트로, dp[x][y]는 x + 1자리 오르막 수 중 y로 끝나는 수의 개수를 의미한다. ...
https://www.acmicpc.net/problem/9465 문제 소개 테스트 케이스의 개수 t가 주어지고, 각 테스트 케이스마다 정수 n과 2행 n열의 스티커 점수 정보가 주어진다. 스티커는 떼어내면 그 스티커의 상하좌우에 위치한 스티커들은 사용할 수 없게 된다. 떼어낼 스티커들을 선택해서 획득하는 점수의 합이 최대가 되도록 하는 문제이...
https://www.acmicpc.net/problem/2468 문제 소개 지역의 높이 정보가 주어졌을 때 장마철에 물에 잠기지 않는 안전한 영역의 최대 개수를 구한다. 안전한 영역은 물에 잠기지 않는 지점들이 위, 아래, 오른쪽 혹은 왼쪽으로 인접해 있으며 그 크기가 최대인 영역이다. 문제 풀이 처음에는 dfs로 풀었으나 반복문에 재귀까지...
https://www.acmicpc.net/problem/1991 문제 소개 이진 트리를 입력받아 전위 순회, 중위 순회, 후위 순회한 결과를 각각 출력한다. 전위 순회 : 루트 $\rightarrow$ 왼쪽 자식 $\rightarrow$ 오른쪽 자식 중위 순회 : 왼쪽 자식 $\rightarrow$ 루트 $\rightarrow$ 오른쪽...
https://www.acmicpc.net/problem/2667 문제 소개 정사각형 모양의 지도의 크기 n과 지도가 주어진다. 지도에서 1은 집이 있는 곳이고, 0은 집이 없는 곳이다. 좌우 혹은 아래위로 연결된 집의 모임을 단지라고 했을 때, 총 단지의 수와 각 단지내 집의 수를 오름차순으로 정렬하여 출력한다. 문제 풀이 dfs로 풀이하였...
https://www.acmicpc.net/problem/2193 문제 소개 0으로 시작하지 않으며, 1이 두 번 연속으로 나타나지 않는 수를 이친수라고 했을 때, n자리 이친수의 개수를 구하는 문제이다. 문제 풀이 dp로 풀이하였다. 리스트 dp의 n번째 원소는 n자리 이친수의 개수를 의미하며, dp[n][0]과 dp[n][1]은 각각 n자리...
배경 https://www.acmicpc.net/problem/18110 문제를 풀던 중, 파이썬의 round()함수의 반올림 방식이 우리에게 익숙한 사사오입이 아닌 오사오입인 것을 뒤늦게 알게 되었다. 반올림의 방법에는 여러 방법이 있으나, 위의 두 방식에 추가적으로 오사육입까지 간단하게 알아보면 아래와 같다. 사사오입 (Rounding ...
https://www.acmicpc.net/problem/1697 문제 소개 현재 위치가 x라고 했을 때, x - 1 또는 x + 1 또는 x * 2의 위치로 이동할 수 있으며, 한 번의 이동에 1초가 걸린다. n과 k가 주어졌을 때, n에서 k로 이동하는 가장 빠른 시간이 몇 초인지 구하는 문제이다. 문제 풀이 n과 k의 값에 따라 3가지 ...