[백준] 1094번 - 막대기
막대기를 반으로 쪼개가며 조건에 따라 일부를 버리면서 주어진 길이와 같도록 맞추는 문제이다.
자른 막대기 중 가장 짧은 길이의 막대를 찾기 위해 처음에 priority_queue를 사용했으나, 생각해보면 스택으로 간단히 해결할 수 있다.
스택에 처음 막대의 길이인 64를 넣어두고, 이후부터 막대기를 꺼내어 반으로 자른 뒤, 스택에 다시 넣으면 스택의 top에는 항상 가장 짧은 길이의 막대가 위치하게 된다.
1 |
|