날짜: 2022년 1월 31일 오후 5:51

코드

Algorithm/42898.py at main · Junroot/Algorithm

풀이

일단 해당 위치가 물에 잠긴 지역인지 매번 루프를 돌며 확인하는 것은 비효율 적이라고 생각해서 2차배열로 미니맵을 만들었다. 물에 잠긴 지역은 -1 아닌 곳은 0으로 저장을 했다.

그 후, 경우의 수를 계산했다. (x, y)위치는 (x - 1, y)의 경우의 수 + (x, y - 1)의 경우의 수가 될 것이다.

(1, 1)의 위치는 경우의 수가 1이고, 점차적으로 이동할 수 있는 경우의 수를 계산하면 됐다. 나같은 경우는 집에서 가까운 순으로 계산하면 왼쪽과 위쪽의 값이 이미 계산되어있기 때문에 이 방식을 선택했다.

이 후 다른 사람의 풀이를 봤는데 행 순서대로 처리를 해도 문제가 없다는 걸 알 수 있었다. 불필요하게 복잡한 코드를 작성했다는 사실을 알게되었다.