[codingame] RETAINING WATER

newbieski·2021년 7월 18일
0

CodinGame

목록 보기
10/17

https://www.codingame.com/training/easy/retaining-water/discuss

  • easy 난이도라 별거 아닌 줄 알았는데 까다로웠음

접근 1

  • 상/하/좌/우의 최대값중에서 최소값이 채울 수 있는 최대 높이인줄 알았는데, 물이 흐른다는것을 고려하지 못했음

접근2

  • 외벽은 물을 채울 수 없으니 "벽"이라고 두고 완전탐색으로 접근함
    • 어떤 위치를 target = 'Z'에서 거꾸로 채워봄
    • 인접한 것들이 target보다 작으면 계속 채워봄
    • 채워야 하는 곳이 "벽"이면 실패임
    • 이렇게 찾다가보면 적절한 target을 찾을 것임
    • target으로 채움
      • target을 찾을때랑 비슷한데 다른점은
      • 채우는 물의 양을 계산해서 합에 더하고
      • 처리를 끝냈다는 표시를 함
      • "벽"인 경우는 진행하지 않음
    • 결과적으로 처리를 끝냈다는 표시 = "벽"과 동일하게 처리함

후기

  • 단순한 접근법이 생각나지 않아서 어려웠음
  • 백준에 "Water"문제와 비슷했던 것 같았고 그때는 우선순위 큐로 접근했던 것 같은데....아무튼 easy난이도 치고 접근하기 쉽지 않았음
profile
newbieski

0개의 댓글