문제 링크입니다: https://www.acmicpc.net/problem/6198
스택을 이용하는 문제였습니다.
1. 스택의 top에 위치한 빌딩의 높이가 i 번째 빌딩의 높이보다 작거나 같을 경우 i 번째 빌딩의 옥상을 볼 수 없으므로 스택의 top이 i 번째 빌딩의 높이보다 높을 때까지 pop을 해줍니다.
2. 스택에 i 번째 빌딩의 높이를 push 해줍니다.
3. i 번째 빌딩을 제외한 나머지 빌딩들이 i 번째 빌딩의 옥상을 볼 수 있으므로 결과에 (스택의 크기 - 1)을 더해줍니다.
* 주의: 결과의 자료형은 long long 형이여야합니다. N이 80,000이고 빌딩의 높이들이 동일하지 않은 상태에서 내림차순으로 주어진다면 정답이 int 형의 범위를 벗어나기 때문입니다.
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 2525번 오븐 시계 (0) | 2020.03.13 |
---|---|
백준 18258번 큐 2 (0) | 2020.03.11 |
백준 11978번 Mowing the Field (Bronze) (0) | 2020.03.08 |
백준 3079번 입국심사 (0) | 2020.03.08 |
백준 10868번 최솟값 (0) | 2020.03.08 |