나는 감자다.
오랜만의 감자짓....
potatoo
2023. 1. 19. 11:45
728x90
https://www.acmicpc.net/problem/11286
11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
저번에 자료구조 힙에 대해서 알아보면서 직접 우선순위 큐를 구현해보았었다. 그걸 이용해서 다시 코드를 짜서 문제를 풀려고 했는데 푸는 과정에서 계속해서 2와 -2만 거꾸로 출력됐었다. 그래서 원인이 뭔지 아무리 찾아도 보이지 않아서 막막했는데... 이걸로 거의 2시간을 날렸다... 처음에는 절댓값부분이 막혀서 처리하고 나머지 부분은 다 출력이 되는데 갑자기 한 부분만 출력이 안되서 이게 뭘까 싶어서 코드를 뒤지고 로직을 생각해봐도 답이 없었다... 그래서 종이에 과정을 순서대로 작성도 해보았는데 내가 생각한 로직과 다를게 없었다... 그래서 별의별 짓을 다해보고 break부분이 문제가 있나 싶어서 수정도 해보고 조건문도 수정을 해봤는데 결국은 아무런 영향이 없었다... 그래서 다시 heap구조를 구현한 설명과 코드를 봐봤다 그런데도 문제가 없었다.. 그러다가 갑자기... 눈에 들어온 한 부분이 있었다.. 왼쪽 자식 노드와 오른쪽 자식노드에 접근하는 메서드를 거꾸로 짜놓은 것이다.... 이런 감자녀석....하... 이런 실수를 하지 않도록 더 공부해야겠다...ㅠㅠ
728x90