[백준] 6198번 - 옥상 정원 꾸미기
1. 문제 이해 N개의 빌딩 높이가 주어졌을 때, 각 빌딩에서 볼 수 있는 다른 빌딩의 옥상의 수를 구하는 문제이다. 다른 빌딩의 옥상을 보기 위해서는, 현재 빌딩의 높이보다 낮아야 한다. 그리고, 위치한 빌딩보다 높거나 같은 빌딩이 있으면 그 다음에 있는 옥상은 보지 못한다. 이 때, 보는 방향은 오른쪽이다. 2. 문제 풀이 주어진 N의 범위가 (1 ≤ N ≤ 80,000) 이므로, O(N^2) 만큼 걸리는 완전탐색은 시간초과이다. 그러므로, 최대한 선형시간 내에 알고리즘이 동작하도록 만들어야 한다. 보는 방향이 오른쪽이므로, 가장 오른쪽에 있는 빌딩부터 진행한다. 오른쪽에서 왼쪽으로 탐색하다 보면, 다시 오른쪽으로 갈 일은 없기 때문에 선형시간이 보장된다. 6 10 3 7 4 12 2 예제 입력을 가..
Algorithm Problem/백준
2022. 6. 21.