🔺 문제
1149번: RGB거리
첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나
www.acmicpc.net
🔺 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
int sum = 0;
int[][] rgb = new int[N][3];
int color = 0;
for(int i = 0 ; i < N ; i++) {
st = new StringTokenizer(br.readLine()," ");
rgb[i][0] = Integer.parseInt(st.nextToken());
rgb[i][1] = Integer.parseInt(st.nextToken());
rgb[i][2] = Integer.parseInt(st.nextToken());
}
// 최솟값 누적해 더하기
for(int i = 1 ; i < N ; i++) {
rgb[i][0] += Math.min(rgb[i - 1][1], rgb[i - 1][2]);
rgb[i][1] += Math.min(rgb[i - 1][0], rgb[i - 1][2]);
rgb[i][2] += Math.min(rgb[i - 1][0], rgb[i - 1][1]);
}
// R, G, B 최솟값 누적합 중 최솟값 구하기
System.out.println(Math.min(Math.min(rgb[N - 1][0], rgb[N - 1][1]), rgb[N - 1][2]));
}
}
|
cs |
✅ 해결 아이디어
✔ DP
- R, G, B 3가지 방향으로 접근해 N번째까지 드는 비용 각각 구하고, 이 중 최솟값 찾기
🔺 다른 풀이들
- 입력을 받으면서 동시에 dp 배열을 채우셨다, 점화식 세우는 과정도 굿,,,
[백준] 1149번 RGB 거리 - Java, 자바
실버 1https://www.acmicpc.net/problem/1149테이블 정의하기dpi = i번째 집일 때 집을 칠하는 최소 비용 점화식 찾기 i번째 집이 빨강일 때(0),i-1번째 집이 초록집이거나 파랑인 경우에 최솟값과 빨강일 때의
velog.io
- 멋진 점화식 도출 과정..
[백준] 1149 - RGB거리 (2017-12-02 수정완료)
문제 링크 : https://www.acmicpc.net/problem/1149 이 문제는 아주 전형적인 DP(동적 계획법) 문제 중 ...
blog.naver.com
💬 느낀 점
색깔 값을 어떻게 저장하지.. 했는데 2차원 배열을 쓰면 되는 것이었다..
일단 쫄지 말고 시작해야 하는데,,,
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
✔ 최애 문풀 사이트.. 선생님의 풀이를 참고하였다..
[백준] 1149번 : RGB거리 - JAVA[자바]
www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다.
st-lab.tistory.com
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 5073번: 삼각형과 세 변 (0) | 2023.05.31 |
---|---|
[백준/JAVA] 23971번: ZOAC 4 (0) | 2023.05.31 |
[백준/JAVA] 1912번: 연속합 (0) | 2023.05.30 |
[백준/JAVA] 9461번: 파도반 수열 (0) | 2023.05.30 |
[백준/JAVA] 1904번: 01타일 (1) | 2023.05.30 |