FickleBoBo

[BaekJoon] 11869번 - 님블 [Java][C++]

문제 링크 1. 아이디어 님블 게임은 1×N 직사각형 보드가 있고 보드는 1×1 크기의 정사각형으로 이루어져 있으며 가장 왼쪽 정사각형이 0번, 그 오른쪽 정사각형은 1번, …, 가장 오른쪽 정사각형은 N-1번이다. 각 정사각형에는 한 개 이상의 동전이 놓여 있을 수 있으며 각 플레이어는 자신의 차례에 하나의 동전을 선택해서 왼쪽으로 한 칸...

[BaekJoon] 2447번 - 별 찍기 - 10 [Java][C++]

문제 링크 1. 아이디어 프랙탈 형태로 별을 출력하는 문제로 반복되는 구조를 보면 현재 바라보는 영역을 가로, 세로 각각 3등분해서 9개의 작은 정사각형을 만들었을 때 정가운데 정사각형은 비우고 나머지에 대해 같은 행위를 반복하는 것을 볼 수 있다. 방문 체크 배열과 재귀를 활용해서 이를 재귀적으로 탐색하며 크기 1의 정사각형이 될 때까지 ...

[BaekJoon] 14956번 - Philosopher’s Walk [Java][C++]

문제 링크 1. 아이디어 철학자의 산책로 상에서 철학자의 위치를 구하는 문제로 산책로는 힐베르트 곡선의 모양을 하고 있다. 비슷한 구조가 반복되는 것 같다는 점에서 분할 정복을 활용해서 해결했는데 크기별 산책로는 아래와 같은 관계를 보이고 있다. 0번 영역의 산책로는 $W_i$ 산책로에서 $y = x$ 에 대칭한 형태이며, 1번, 2번...

[BaekJoon] 10799번 - 쇠막대기 [Java][C++]

문제 링크 1. 아이디어 레이저가 절단한 후 조각의 총 개수를 구해야 하는 문제로 스택 자료구조를 활용하면 해결할 수 있다. 레이저는 현재 레이저보다 먼저 등장했으면서 아직 끝이 안나온 막대를 자르며 잘랐을 때 생기는 새로운 조각은 막대의 수와 동일하다. 막대의 경우 자신보다 긴 막대만 위에 놓일 수 있으므로 최근에 넣은 막대가 먼저 빠지게...

[BaekJoon] 6198번 - 옥상 정원 꾸미기 [Java][C++]

문제 링크 1. 아이디어 각 빌딩에서 오른쪽에 위치한 빌딩만 볼 수 있을 때 자신보다 높이가 낮은 빌딩의 개수를 각각 찾는 문제다. 빌딩의 수가 최대 80,000개여서 O(N²)의 시간 복잡도로는 해결할 수 없는데 스택 자료구조를 활용하면 해결할 수 있다. 스택은 왼쪽에서 오른쪽 순서로 빌딩을 담는다. 현재 빌딩에 대해 왼쪽에 위치한 빌딩...