Programmers / 3단계 / 등굣길 / python / 동적계획법(Dynamic Programming)

2024. 3. 28. 19:02·코딩테스트/programmers (python)

 

https://school.programmers.co.kr/learn/courses/30/lessons/42898

 

 

모범 답안

def solution(m, n, puddles):
    puddles = [[q,p] for [p,q] in puddles]
    dp = [[0] * (m+1) for _ in range(n+1)]
    dp[1][1] = 1
    
    for i in range(1, n+1):
        for j in range(1, m+1):
            if i == 1 and j == 1:
                continue
            if [i, j] in puddles:
                dp[i][j] = 0
            else:
                dp[i][j] = (dp[i - 1][j] + dp[i][j - 1]) % 1000000007
    return dp[n][m]

웅덩이의 위치 puddles의 좌표가 반대로 되어있기 때문에 이를 주의하여 좌표를 반대로 적어주어야 한다.

dp를 초기화하고, 시작 위치인 dp[1][1]은 1로 설정한다. 

dp 테이블의 칸들을 순서대로 탐색한다.  현재 칸이 웅덩이일 경우 0으로 변환하고, 아닐 경우 왼쪽 칸과 위쪽 칸의 합을 1000000007로 나눈 값으로 변환한다.

 

 

참조

https://dev-note-97.tistory.com/141

 

'코딩테스트 > programmers (python)' 카테고리의 다른 글

Programmers / 3단계 / 두 큐 합 같게 만들기 / python / 2022 KAKAO TECH INTERNSHIP  (0) 2024.03.31
Programmers / 3단계 / 단속카메라 / python / 탐욕법(Greedy)  (0) 2024.03.29
Programmers / 2단계 / 소수 찾기 / python / 완전 탐색  (0) 2024.03.28
Programmers / 3단계 / 야근 지수 / python  (1) 2024.03.27
Programmers / 2단계 / [1차]프렌즈4블록 / python / 2018 KAKAO BLIND RECRUITMENT  (1) 2024.03.26
'코딩테스트/programmers (python)' 카테고리의 다른 글
  • Programmers / 3단계 / 두 큐 합 같게 만들기 / python / 2022 KAKAO TECH INTERNSHIP
  • Programmers / 3단계 / 단속카메라 / python / 탐욕법(Greedy)
  • Programmers / 2단계 / 소수 찾기 / python / 완전 탐색
  • Programmers / 3단계 / 야근 지수 / python
seulll
seulll
개인 공부 / 정리 블로그입니다 https://github.com/seul1009
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (340) N
      • 코딩테스트 (232) N
        • programmers (python) (156)
        • 백준 (python) (74) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (43)
        • Python (4)
        • Java | Spring (7)
        • Android (5)
        • Unity (3)
        • API (4)
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    야근 지수
    백엔드 개발자
    solving environment
    대입 표현식
    프렌즈4블록
    Python
    바다코끼리
    그리디 알고리즘
    프로그래머스
    백엔드
    2 x n 타일링
    데이터분석
    카카오맵 api
    웹크롤링
    카카오맵
    Boxplot
    티스토리챌린지
    코딩테스트
    confusion matrix
    파이썬
    백엔드 개발자 역량
    박스플롯
    train_test_split
    kakao map api
    오블완
    모델 성능 평가
    asterisk
    오차행렬
    API
    Greedy
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
Programmers / 3단계 / 등굣길 / python / 동적계획법(Dynamic Programming)
상단으로

티스토리툴바