Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 주피터
- 파이썬
- 서버사이드랜더링
- 머신러닝
- 인공지능
- let과var차이
- Java
- 딥러닝
- 타입제한
- 알고리즘
- SPA
- jnut
- 드래그방지
- 리스트구현
- SWEA
- BOJ
- 파이프 옮기기
- BOJ17070
- 텐서플로우
- 검색어최적화
- spa 라우팅
- 리스트
- 고쳐야해!
- 스프링
- 백준
- 리눅스
- BFS
- 연결리스트구현
- Spring
- 타입변수
Archives
- Today
- Total
林's
[JUNGOL] RGB 마을 (JAVA) 본문
문제 주소: Click
RGB 마을의 집들은 일자로 쭈욱 이어져 있어요.
이 집들의 지붕을 색칠하려고 하는데. 빨강,초록,파랑으로만 칠할 수 있고
각 집들의 지붕의 면적이 다르기 때문에 비용도 다 제각각이에요.
입력으로는 집의 개수만큼 그 집을 R,G,B로 칠할 수 있는 비용이 주어집니다.
이 입력들을 사용해서 모든 집을 최소한의 비용으로 칠했을 때 얼마가 나오는 지 구해보세요.
대신 다음 색깔을 칠할 때는 바로 앞의 색과 겹치면 안 된답니다.
import java.util.Scanner; public class MainRGB마을대소동 { public static String src = "3\n1 100 100\n100 100 100\n1 100 100"; public static void main(String[] args) { Scanner sc = new Scanner(System.in); sc = new Scanner(src); int n = sc.nextInt(); int rgb[] = new int[3]; // rgb[0]:빨강색을 선택했을 때의 최소비용, [1]:초록색 '', [2]: 파랑색'' rgb[0] = sc.nextInt(); rgb[1] = sc.nextInt(); rgb[2] = sc.nextInt(); // 초기값 넣은 후 처리 int temp[] = new int[3]; for (int i = 0; i < n-1; i++) { int r = sc.nextInt(); int g = sc.nextInt(); int b = sc.nextInt(); temp[0] = r + Math.min(rgb[1], rgb[2]); temp[1] = g + Math.min(rgb[0], rgb[2]); temp[2] = b + Math.min(rgb[0], rgb[1]); for (int j = 0; j < 3; j++) rgb[j] = temp[j]; } int min = Integer.MAX_VALUE; for(int e : rgb) min = Math.min(min, e); System.out.println(min); } }
'프로그래밍 > 문제해결' 카테고리의 다른 글
[BOJ] 1753. 최단경로 (0) | 2019.04.05 |
---|---|
[SWEA] 1953. 탈주범 검거 (0) | 2019.04.05 |
[BOJ] 14889. 스타트와 링크 (0) | 2019.03.26 |
[SWEA] 달팽이수 (0) | 2019.03.25 |
[SWexpert] 2383. 점심 식사시간 (0) | 2019.03.16 |
Comments