-
[프로그래머스] 등굣길 - 파이썬(python)
나의 풀이 def solution(m, n, puddles): dp = [[0]*(m+1) for _ in range(n+1)] print(dp) for i in range(1, n+1) : for j in range(1, m+1) : if i == 1 and j == 1 : dp[i][j] = 1 elif [j,i] in puddles : dp[i][j] = 0 else : dp[i][j] = dp[i-1][j] + dp[i][j-1] # print("dp[{}][{}] = {}".format(i,j,dp[i][j])) return dp[n][m] % 1000000007 (1,1) 을 집으로, (n,m) 을 학교 좌표로 만들기 위해, 이차원 배열을 [n+1][m+1] 의 크기로 초기화한다. 이번 문제는..
알고리즘/동적프로그래밍(DP)
2022. 9. 19.
-
[프로그래머스] 모음사전 - 파이썬(python)
나의 풀이 def dfs(x, dictionary, alpha): dictionary.append(x) for i in alpha : if len(x) != len(alpha) : dfs(x+i, dictionary, alpha) else : x[:-1] def solution(word): alpha = ['A','E','I','O','U'] dictionary = [] for i in range(len(alpha)) : dfs(alpha[i], dictionary, alpha) return dictionary.index(word) + 1 DFS 로 풀이한 문제이다. 먼저 dictionary 에 현재 나의 문자를 추가한다. 그리고, alpha 리스트를 반복문으로 돌면서, 문자열 x의 길이가 5 보다 작다..
알고리즘/완전탐색
2022. 9. 7.