프로그래머스 DP

less than 1 minute read

1. 등굣길

def solution(n, costs):
    dp = [[0]*(m+1) for _ in range(n+1)]
    # 집의 위치는 dp[1][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
        
        # 만약 현재 좌표가 puddle 이라면 스킵함
        if [j,i] in puddles:
          continue
          
        # 왼쪽과 아래쪽 좌표에 저장된 숫자를 더함
        dp[i][j] = dp[i-1][j] + dp[i][j-1] % 1000000007
    
    return dp[-1][-1]
        

2. 정수 삼각형

Comments