문제를 푸는 방향을 좀 더 넓혀 보고자 Sorting 태그에서도 문제를 종종 풀어보기로 했다. 항상 자신있다고 생각했던 부분이기도 했지만 막상 새로운 문제를 봤을때 항상 좌절했기에 이렇게 기록을 남기고 싶었다.
각 벡터에 최대 인원인 capacity, 그리고 각 벡터에 담긴 정보들, (사람수, from, to) 에 정보를 입력 받았을때 자동차가 최대 인원 숫자를 지키면서 목적지에 도착할수있는지에 대한 문제였다.
아 솔직히 처음에 너무 바보같이 적을려고 했던거같다. 내가 생각했던거는 curr_pass 를 유지하면서 현재 인원에 수 그리고 출발점과 마지막점만 유지하면은 풀수있는 문제라 생각했지만. 돌이켜보니 각 각 인원이 내리는 도착점이 다르고 다른 출발점에서 같이 탈수도 있는데 이거를 내가 다 커버할수는 없었다.
두번째로 푼 방법. 먼저 destination 이 가장 높은 순으로 정렬을 해주었다. 그리고 두가지에 벡터를 만들어서 from 벡터, to 벡터로 만들고 각각 지점에 인원이 타고 내리는 숫자를 마크해주었다.
마지막으로는 0번째 루트부터 시작해서 가장 마지막 destinatio 으로 가기까지 from 인원과 to 인원을 빼줌으로서 capacity 유지가 가능했다.
답을 보고 참고한 훨씬 더 간단하게 풀수있는 방법은 map 을 사용하는거였다. 이 전에 풀었던과 정확히 동일한 방법이지만 훨씬 간결하다. 이거는 그냥 푸는 접근 방식의 차이점이었지만 다음부터는 좀 더 생각해야겠다.
배운점:
1. 문제 풀때 생각하기
2. 너무 복잡하게 생각하기 말기.