목록전체 글 (157)
DevYoon
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr def solution(money): dp1 = [0]*len(money) # 첫번째 집 털기 dp1[0] = money[0] dp1[1] = money[0] for idx in range(2, len(money)-1): dp1[idx] = max(dp1[idx-1], dp1[idx-2]+money[idx]) # 마지막 집 털기 dp2 = [0]*le..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr def solution(m, n, puddles): board = [[0]*(m+1) for _ in range(n+1)] puddles = [[j, i] for [i, j] in puddles] board[1][1] = 1 for y in range(1, n+1): for x in range(1, m+1): if y == 1 and x ..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr def solution(triangle): ret = [[0]*len(triangle[i]) for i in range(len(triangle))] ret[0][0] = triangle[0][0] for y in range(len(ret)-1): for x in range(len(triangle[y])): ret[y+1][x] = max(ret[y+1][x], triangle[y+1][x]+ret[y][x]) ret[y+1]..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr def solution(N, number): if N == number: return 1 dp = [set() for _ in range(9)] for i in range(1, 9): dp[i].add(int(str(N)*i)) for j in range(1, i): for y in dp[j]: for x in dp[i-j]: dp[i].add(y+x) dp[i].add(y-x) dp[i].add(y*x) if x != 0: dp[i].add(y//x) if number in dp[i]: return i dp.append(dp[..
link 🔗 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr def solution(prices): answer = [0]*len(prices) idx = 0 while idx prices[i]: answer[idx] += 1 ..