Algorithm/백준

[백준 알고리즘] 2493번: 탑 (Python)

에릭 Kim 2023. 6. 2. 15:40
반응형

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

 

2493번: 탑

첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1

www.acmicpc.net

 

소스코드

 

풀이

★ 이전에 풀이했던 오큰수 문제와 비슷한 유형의 문제입니다. 레이저를 수신하는 탑이 없다면, 0이 출력되어야 하기 때문에 ans를 0으로 초기화합니다.

 

★ stack 안에 들어있는 수를 인덱스로 가지는 값이 반복문의 값보다 작으면 stack 안의 값은 답이 될 수 없기 때문에 pop 처리해줍니다. 만약 큰 수일 경우, stack안의 인덱스를 답으로 가질 수 있기 때문에 ans[i] = stack[-1]+1을 해줍니다. 이 때, +1을 하는 이유는 탑의 번호를 1부터 세기 때문입니다 ! 

 

★ for문이 돌 때마다 그 값이 탑이 될 수 있는지 확인 해야하기 때문에 stack에 append 해줘야 합니다. 

 

 

 

 

 

★ 오큰수 문제 풀이

https://hyul-mode.tistory.com/entry/%EB%B0%B1%EC%A4%80-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-17298%EB%B2%88-%EC%98%A4%ED%81%B0%EC%88%98-Python

반응형