1000년까지 돌기 때문에 나무수가 엄청 많아 질 수 있고, 이때 sort 가 들어가면 시간초과가 나올 것 같습니다.
sort 가 들어가는 것을 막기 위한 방법이 있어야 합니다.
새로 생기는 나무는 항상 1살이고 죽는 나무는 같은 위치의 산 나무 보다 나이가 많기 때문에
각 위치별로 deque 를 만들어서 앞에서 새나무 넣고 뒤에서 죽은 나무 빼는 것이 가장 간단하겠지만....
굳이 vector 를 쓰고 전체 나무를 하나의 vector 에서 관리한다면 아래 링크와 같이 가능할 것 같습니다.
https://ideone.com/7hIIcu
Vector 를 두개를 사용해서 새 나무 뒤에 죽은 나무 빼고 넣으면 처음 한번만 소트하면 될 것 같습니다.
그리고 문제의 x, y 는 r, c 로 작성하신 코드에서는 바뀐 것 같습니다.
jhim000 4년 전 1
vector로 구현을 시작해서 이왕 한 거 최대한 시간을 줄여서라도 정답처리를 받으려 했는데 도무지 안 됩니다 ㅠ
여기서 갈아엎고 dqueue로 구현하는 방법 이외에 좋은 방법이 없을까요?