DP

코딩테스트 일기 (BAEKJOON)

BEAKJOON / 백준 - JAVA 1149번 RGB거리

2024.08.22기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 해당 인덱스에 RGB 와 인접하는 인덱스의 RGB끼리 서로 다른 RGB를 선택했을 때, 모든 집을 칠할 때 가장 적은 비용을 출력하는 문제입니다. 1. RGB를 저장하는 배열을 생성해 가장 첫번쨰 RGB를 따로 저장을 해주었습니다.int[][] rgb = new int[t][3]; // RGB 저장 배열// 첫 번째 RGBStringTokenizer st = new StringTokenizer(br.readLine());rgb[0][0] = Integer.parseInt(st.nextToken());rgb[0][1] = Integer.parseInt(st.nextToken());rgb[0][2] = Integ..

코딩테스트 일기 (BAEKJOON)

BEAKJOON / 백준 - JAVA 1965번 상자넣기

2024.08.19기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 상자들을 이용해 가장 많이 겹쳤을 때, 그 중 제일 많이 겹친 박스의 개수를 출력하는 문제입니다. 1. 입력된 박스를 저장하는 배열을 생성한 후 저장을 해줍니다.// 박스의 크기를 저장하는 배열boxes = new int[n];for (int i = 0; i  2. 현재 박스 위치에서 최대 몇 개의 박스를 겹칠 수 있는지 저장하는 배열을 생성합니다.(dp)// 합쳐진 박스의 개수를 저장하는 배열count = new int[n];count[0] = 1; // 현재 참조하는 박스도 1개의 박스이기 때문에 1로 시작for (int i = 1; i  첫 번째 박스는 자기 자신도 포함하기 때문에 무조건 1로 시..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 15966번 군계일학

2024.06.30기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 입력 받은 수열중 연속된 수열을 계산하는 문제입니다. 이 문제를 풀때 순서를 유지 해야 된다는걸 발견하지 못해 문제가 있었습니다. 1. 입력 받은 수열을 1부터 시작해 배열에 저장합니다.int[] arr = new int[n + 1];for (int i = 1; i  2. 연속된 수열의 개수를 저장하는 dp배열을 생성합니다.int[] dp = new int[1000001]; // 연속된 수열의 개수를 저장하는 배열 3. 생성된 배열에 들어온 수열의 순서대로 참조하는 인덱스의 바로 뒷 인덱스의 값의 +1를 하여 저장합니다.for (int i = 1; i  4. 그 중 가장 큰 값을 출력해줍니다.  코드packa..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 14231번 박스 포장

2024.06.23기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 일렬로 들어오는 박스에서 작은 박스가 큰 박스에 겹칠 수 있을 때, 가장 많이 겹칠 수 있는 박스의 수를 계산하는 문제입니다. 예제를 통해서 문제에 대한 설명을 진행하도록 하겠습니다.// 예제61 3 5 8 4 9 1. 기본적으로 box를 담는 배열과 겹치는 수를 담는 dp배열을 생성해줍니다.// 박스의 크기를 저장할 배열box = new int[n + 1];for (int i = 1; i 여기서 dp[1] = 1인 이유는 처음 박스는 하나만 존재하기 때문에 넣을 수 있는 박스가 없습니다.dp의 참조하는 값보다 앞에 값을 참조하기 때문에 1번째 인덱스는 1로 깔고 갑니다.※ 인덱스는 1부터 시작을 했습니다. ..

Coding_Slowly
'DP' 태그의 글 목록 (2 Page)