[BOJ/백준] 14890. 경사로
출처
https://www.acmicpc.net/problem/14890
과정
- 2N개 이므로 행 과 열로 나눠서 탐색을 진행하려고 하였다.
- 행으로 탐색할 때는 열좌표를 고정 열로 탐색을 할 때는 행좌표를 고정 시키고 탐색을 진행하였다.
-
기저 조건으로 탐색하는 좌표가 n-1에 도달하였다면 지나갈 수 있는 길이므로
최종 결과 값에 1을 더해주고 return해주었다. -
높이 차가 1이어야 하므로 나눌 수 있는 경우를 세가지로 나누었다.
-
첫번째는 현재좌표 값과 다음 값이 같을 경우
같으니깐 바로 다음좌표로 넘어가도록 하였다. -
두번째는 현재좌표 값보다 다음 좌표 값이 1 클 경우
놓을 수 있는 경사로가 l개 이상이라면 경사로를 놓고 지나갈 수 있으므로
다음으로 가고 경사로 갯수를 1로 초기화(경사로를 놓았으므로) 한다.
l개 미만으로 있다면 갈 수 없으므로 return해준다. -
세번째는 현재좌표 값이 다음 좌표값 보다 1 클 경우
l개를 놓아도 범위를 안벗어난다면 다음 좌표부터 l개가 다음 좌표 값과 같은지 확인 한 후 l개가 같으면 경사로를 놓고 지나갈 수 있으므로 l개 길이 만큼의 경사로를 놓고난 후 좌표로 이동하고 경사로는 0으로 초기화 해준다. - res(최종 갈 수 있는 길)을 출력해준다.