반응형
https://www.acmicpc.net/problem/17070
이전에 풀었던 '등굣길' 형태의 길찾기 문제의 심화 버전 느낌이었다.
좌표평면에서 해당 좌표까지 도착하는 방법의 개수를 구하면 되는데, 좌표에 도달하는 방법의 개수가 3개라는 차이점이 있다.
따라서 가로로 도착하는 경우 / 세로로 도착하는 경우 / 대각선으로 도착하는 경우 세 가지로 나눠서 생각해야 하며,
[y좌표][x좌표][도착하는 방법] 3차원 리스트로 만들어 해결했다.
현재 좌표를 x, y라고 하면
가로 모양의 현재 좌표 = 가로 모양 (x-1, y) 좌표까지 이동한 방법 + 대각선 모양 (x-1, y) 좌표까지 이동한 방법
세로 모양의 현재 좌표 = 세로 모양 (x, y-1) 좌표까지 이동한 방법 + 대각선 모양 (x, y-1) 좌표까지 이동한 방법
이 된다.
대각선은 가로 -> 대각선, 세로 -> 대각선, 대각선 -> 대각선 세 가지 형태가 있으므로
대각선 모양의 현재 좌표 = 가로 모양 (x-1, y-1) 좌표까지 이동한 방법 + 대각선 모양 (x-1, y-1) 좌표까지 이동한 방법 + 세로 모양 (x-1, y-1) 좌표까지 이동한 방법이 된다.
반응형
'프로그래밍 > 코딩테스트 문제풀이' 카테고리의 다른 글
[Python] 백준 14891. 톱니바퀴 (1) | 2020.01.05 |
---|---|
[Python] 백준 17135. 캐슬 디펜스 (0) | 2020.01.04 |
[Python] 백준 1316. 그룹 단어 체커 (0) | 2020.01.02 |
[Python] 프로그래머스. 거스름돈 (Level 3) (1) | 2020.01.01 |
[Python] 백준 14501. 퇴사 (0) | 2019.12.31 |