nonneng.ee
Daeun-rithm
nonneng.ee
전체 방문자
오늘
어제
  • 분류 전체보기 (51)
    • Back-end (17)
      • Server (3)
      • Database (3)
      • Spring (9)
      • Node.js (1)
    • Book (1)
      • 이펙티브 자바 (0)
      • 대규모 시스템 설계 (1)
    • Algorithm (1)
      • Greedy, Implementation (6)
      • Dynamic Programming (5)
      • Data Structure (3)
      • Sorting (2)
      • Concept (1)
    • TIL (11)
    • Software (3)
      • Design Pattern (3)
    • Computer Science (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 서버
  • 이펙티브 자바
  • 아이템9
  • 우분투
  • Java
  • 소스설치
  • Restful API
  • 컴파일설치
  • 아이템 25
  • node js
  • 브루트포스
  • Postman
  • 아이템8
  • 수동설치
  • 에러
  • 구현
  • Spring
  • API
  • 아이템6
  • 구동원리
  • 아이템 23
  • jwt
  • 가상머신
  • DP
  • APM
  • MySQL
  • 백준
  • 자바
  • 파이썬
  • JPA

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
nonneng.ee

Daeun-rithm

Algorithm/Dynamic Programming

[Python] 백준 #1149 RGB거리

2021. 6. 30. 01:05

1149번: RGB거리 (acmicpc.net)

 

1149번: RGB거리

첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나

www.acmicpc.net

[알고리즘]

DP

 

[접근 방법]

   1. 점화식 세우기

        * i-1번째 집과 i번째 집의 관계 → 조건은 서로 다른 색

        * 최소비용 구하기 →min으로 비교

   2. 경우의수 생각

        * i번째 집이 R, G, B인 경우 3가지

 

[코드]

1
2
3
4
5
6
7
8
9
10
11
12
13
N = int(input())
cost = []
for i in range(N) :
    cost.append(list(map(int, input().split())))
print(cost)
for i in range(1, N) :
    # 0, 1, 2는 각각 R, G, B
    # i번째 집을 0으로 칠하면, i-1번째 집은 1 or 2
    cost[i][0] = cost[i][0] + min(cost[i - 1][1], cost[i - 1][2])
    cost[i][1] = cost[i][1] + min(cost[i - 1][0], cost[i - 1][2])
    cost[i][2] = cost[i][2] + min(cost[i - 1][1], cost[i - 1][0])
 
print(min(cost[N - 1][0], cost[N - 1][1], cost[N - 1][2]))
cs

 

'Algorithm > Dynamic Programming' 카테고리의 다른 글

[Algorithm/Java] 다이나믹 프로그래밍 복습  (0) 2022.07.14
[Python] 백준 #11052 카드 구매하기  (0) 2021.06.30
[Python] 백준 #1932 정수 삼각형  (0) 2021.06.30
    'Algorithm/Dynamic Programming' 카테고리의 다른 글
    • [Java] 백준 #1463 1로 만들기
    • [Algorithm/Java] 다이나믹 프로그래밍 복습
    • [Python] 백준 #11052 카드 구매하기
    • [Python] 백준 #1932 정수 삼각형
    nonneng.ee
    nonneng.ee

    티스토리툴바