반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 백준 바이러스
- MongoDB
- 등수매기기 파이썬
- 백준알파벳파이썬
- 지도자동구축 파이썬
- 백준 평범한배낭
- 금고털이 파이썬
- 소프티어 장애물인식프로그램
- express
- 백준 전쟁 파이썬
- 백준 점프 파이썬
- 백준 예산
- jenkins
- 백준 전쟁-전투
- 백준 피아노체조
- 백준 등수매기기
- 1987파이썬
- 파이썬 평범한배낭
- CRUD
- 백준
- 백준 A->B
- 소프티어 지도자동구축
- 백준 점프
- 장애물인식프로그램 파이썬
- 도커 컨테이너
- 파이썬데이터분석라이브러리
- 피아노체조 파이썬
- MySQL완전삭제
- 프로그래머스
- express mongodb
Archives
- Today
- Total
바위 뚫는중
[BOJ] 백준 1890. 점프 본문
반응형
🥈점프
💡 아이디어
예제1을 따라 시뮬레이션을 해보자.
- 0,0 값인 2가 3(4-1)보다 작다면, 2,0 과 0,2로 이동가능하다
- 2,0(1)과 0,2(3)를 각각 시작값으로 두자
- 2,0(1) 을 고려해보자. 각각의 x,y가 현재위치 + 좌표값 ≤ 3(4-1) 일 경우만 이동이 가능하다. 이때 3,0 과 2,1이 나온다.
- 3,0(3) 을 고려해보자. 6,0 3,3 중에서 6은 불가하므로 3,3이 가능하고, 이는 곧 좌표의 맨 아래 끝값이 된다.
대충 정리해보면
- x, y 각각의 좌표가 n-1이 될 경우 (끝 값에 도달할 경우) break 후 print
- 좌표는 현재 좌표값을 기준으로 두가지 갈래로 구해나가고, 움직일 수 있는 길일 경우 전의 좌표를 바탕으로 dp값을 갱신해준다
🧑🏻💻 코드
# 백준 점프
n = int(input())
jump = []
for i in range(n):
jump.append(list(map(int, input().split())))
dp = [[0] * n for i in range(n)]
dp[0][0] = 1
for i in range(n):
for j in range(n):
if i == n - 1 and j == n - 1:
print(dp[i][j])
break
now = jump[i][j]
if i + now < n:
dp[i+now][j] += dp[i][j]
if j + now < n:
dp[i][j+now] += dp[i][j]
👍🏻 느낀점
찾은 규칙을 식으로 옮기는 과정을 많이 반복해야 할 것 같다.
반응형
'Algorithms > 백준' 카테고리의 다른 글
[BOJ] 백준 16953. A→B (1) | 2024.02.15 |
---|---|
[BOJ] 백준 1303. 전쟁 - 전투 (1) | 2024.01.25 |
[BOJ] 백준 21318. 피아노 체조 (0) | 2023.12.28 |
[BOJ] 백준 2012. 등수 매기기 (0) | 2023.12.27 |
[BOJ] 백준 2178. 미로탐색 (1) | 2023.11.20 |