개발
home
🪜

[알고리즘] 백준 1149번 RGB거리 파이썬 python

Created
2023/01/29
Tags
Algorithm
Python
Dynamic Programming
2023-01-29 @이영훈

접근 방법

다이나믹 프로그래밍(DP) 문제입니다.
2차원 배열인 colors 변수에 두 번째 줄부터의 입력 값을 저장하였습니다.
그리고 colors[i]는 colors[i-1]의 다른 열 중에서 최소값을 더했습니다.
즉, 코드로는 colors[i][0] += min(colors[i][1], colors[i][2]) 입니다.
이것을 각 행의 각 열마다 계산하였습니다 (colors[i][0], colors[i][1], colors[i][2])

파이썬 코드

import sys input = sys.stdin.readline n = int(input()) colors = [] for _ in range(n): colors.append(list(map(int, input().split()))) for i in range(1, n): colors[i][0] += min(colors[i - 1][1], colors[i - 1][2]) colors[i][1] += min(colors[i - 1][2], colors[i - 1][0]) colors[i][2] += min(colors[i - 1][0], colors[i - 1][1]) result = min(colors[n - 1]) print(result)
Python
복사