나 개발자 진짜 되냐?

바킹독 0x05 문제2 / 백준 10773번 제로 본문

C++을 시작해봐요!/알고리즘을 공부해봐요!

바킹독 0x05 문제2 / 백준 10773번 제로

Snow Rabbit 2025. 10. 15. 19:53

 

나름? 열심히 하루에 한 문제씩 풀고 있지만..

속도가 안나서 ... 기분이 그렇다.

하루에 한문제 푸는 사람..?

바로 나..

씁쓸하구먼

 

오늘의 문제를 풀어보자

 


 

 

문제를 읽고 생각보다 어렵지 않은데? 하며 시작했다..

 

 

꽤나 성공적이게 풀었다고 생각했는데..

테스트케이스에서 자꾸 오류가 났다.

 

오류.. 라기보단 답이 자꾸 덜 나왔다.

계속 고민하다가 이렇게 잘 푼 적이 없는데.. 하며

내 머릿속에서 나오지 않을 답이라고 생각하여 답을 보았다.

 

답에서는

while문을 써서

 while(! s.empty())

{

answer += s.top();

s.pop();

}

 

를 써야 한다고 했다.

내식이랑 다른 게 뭐지?

나는 횟수만큼 도는 건데

그럼 되는 거 아닌가?

나름 심사숙고해서 떠오른 아이디어인디.. 하며

 

지선생에게 물어보니 1초 만에 대답해 주었다.

그 이유는 pop을 하는 순간 s의 size가 줄어들어서

결국 0일 때 탈출하지 못하는 런타임 에러가 발생할 수 있다는 것이다.

 

아.. pop을 하면 사이즈가 줄어들 거라는 생각을 전혀 하지 못했다.

그래서 while문으로 수정했다.

 

 

 

히히 완성!

마지막 부분만 잘 몰라서 틀린 거라

꽤 기분이 좋다.

한 문제 클리어! 히히