티스토리 뷰

PS

백준 6198. 옥상 정원 꾸미기

tose33 2022. 12. 3. 14:29

https://www.acmicpc.net/problem/6198

 

6198번: 옥상 정원 꾸미기

문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으

www.acmicpc.net

 

- 문제에서 같은 높이의 탑은 옥상을 확인할수 있는지 여부가 안나와 있는데, 질문 게시판에 보면 확인할수 없다고 나와있다.

 

이 문제는 뒤의 빌딩부터 앞으로 탐색해야 하고, 스택에 (빌딩 번호, 높이)를 저장한다. 

i번 탑이 확인할수 있는 옥상의 갯수를 저장하는 mark[] 배열도 만든다.

 

스택의 top의 빌딩의 높이가 탐색중인 빌딩의 높이보다 작으면 계속해서 stack에서 빼주면서 몇개인지 카운팅 해주면 된다.

이때 단순히 스택에서 뺀 갯수가 현재 탐색중인 탑이 확인할수 있는 옥상의 수가 아니라, 스택에서 빼준 탑이 확인할수 있는 옥상의 갯수 즉 mark[] 값도 같이 더해줘야 한다.

왜냐하면 i번탑이 j번 탑보다 높다는 것은 j번 탑은 물론 j번 탑이 확인할수 있는 옥상들도 다 확인할수 있기 때문이다.

 

그리고 답은 long long 형으로 해줘야 한다.

만약 탑의 높이가 1번 탑이 1000000000, 2번 탑이 999999999 ... 80000번째 탑 까지 주어지면 int형을 벗어나는 것을 알 수 있다.

 

'PS' 카테고리의 다른 글

백준 16637. 괄호 추가하기  (0) 2022.12.07
백준 11000. 강의실 배정  (0) 2022.12.06
백준 14494. 다이나믹이 뭐예요?  (0) 2022.12.02
백준 2164. 카드2  (0) 2022.12.02
백준 1062. 가르침  (0) 2022.12.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함