[백준 알고리즘] 2493번: 탑 (Python / 파이썬)
·
알고리즘/백준
문제 접근 간단히 생각해보면 오른쪽 -> 왼쪽으로 레이저를 쏴주므로 탑 리스트를 역순회하면서 오른쪽보다 큰 값인지 확인해야 한다. 6->5->4->7 과 같이 순회하는 경우 6,5,4 높이의 탑은 모두 7에서 수신한다. 따라 아직 수신되지 못한 신호를 보낸 탑들을 저장해 두어야 하는데 스택이 적합하다. 하나의 탑을 체크할때마다 스택의 top을 계속 확인하면 될것 같다. 스택이 비지 않았다면 top에 쌓여있는 걸 현재 탑의 높이와 비교하면서, 현재탑보다 낮은 것이 쌓여있다면 그것들은 다 pop하고 정답 배열에 추가하거나 바로 출력하면 된다. 위 작업을 하고 나서 스택에 현재 탑을 넣어준다. 중요한 부분은, 스택에 쌓여 있는 탑들과 현재 탑을 비교하고, pop하는 거까지는 문제가 없어도 그 스택에 쌓인 탑들..