Skip to content

Conversation

@JHLEE325
Copy link
Contributor

🧷 문제 링크

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

🧭 풀이 시간

30분

👀 체감 난이도

✏️ 문제 설명

탑은 항상 꼭대기에서 왼쪽으로 전파를 발사하고 그 전파는 부딪힌 첫번째 탑에 수신되고
탑의 개수와 각 탑의 높이가 주어졌을 때
각 탑의 전파가 수신되는 탑의 번호를 모두 출력하는 문제입니다

🔍 풀이 방법

1번 인덱스부터 시작하여 스택을 활용하여 풀었습니다

for (int i = 0; i < n; i++) {
            int h = tower[i];

            while (!list.isEmpty() && list.peek()[1] < h) {
                list.pop();
            }

            answer[i] = list.isEmpty() ? 0 : list.peek()[0];

            list.push(new int[]{i + 1, h});
        }

왼쪽의 탑 중 현재 탑보다 작은 탑은 필요가 없으므로 pop해서 지워가면서 찾았습니다

⏳ 회고

얼마전에 비슷한 유형의 문제를 풀었어서 쉽게 풀 수 있었으나
처음 보는 문제였으면 꽤 어려웠을 것 같습니다

@ShinHeeEul ShinHeeEul merged commit 8a63743 into main Jul 13, 2025
1 check passed
@JHLEE325 JHLEE325 added the success 👍 해설을 보지 않고 풀었을 때 label Jul 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants