[백준] 6198번 옥상 정원 꾸미기 c++


[백준] 6198번 옥상 정원 꾸미기 c++

10달전에는 단순히 이중 for문으로 해서 틀린 문제 그때는 딱히 시간복잡도 개념이 없었다.N = 80000까지이므로 O(N^2)은 안된다.탑이랑 굉장히 유사한 문제로stack을 이용하면 된다.왼쪽부터 하나씩 보면서 이 건물을 볼 수 있는 건물의 개수를 구하면 된다.stack을 보면서 자기 보다 작은 값이 있으면 pop을 해주고큰 값이 있으면 이 큰 값은 자기를 볼 수 있기에 break; 된다.그 다음 stack에 넣어주고 자기는 자신을 볼 수 없으므로 -1을 해준 뒤 더해준다.문제 풀고 빠른 입출력 적용 해봤는데 1등이다ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아니 0ms 나올 줄을 몰랐는데ㅋㅋㅋㅋㅋㅋㅋㅋ...

[백준] 6198번 옥상 정원 꾸미기 c++에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : [백준] 6198번 옥상 정원 꾸미기 c++