[문제 - 10800번: 컬러볼 (JAVA)] [접근 방법]예제 1을 통해 설명하겠다. 1) 'index', 'color', 'size' 의 속성을 갖는 Ball 클래스를 통해, 공 정보를 다룬다. 2) 공 크기에 따라 Ball 배열을 정렬한다. 정렬된 공의 배열을 차례로 탐색한다.탐색 차례의 공 (currentBall) 보다 작은 공의 size 를 sum 에 누적한다.color 별 공 size 를 colors[] 배열의 해당 color에 누적한다.currentBall 의 획득 가능한 점수 sum - colors[currentBall.color] (같은 크기의 공은 먹을 수 없다.) 를 구하여, result[] 배열에 저장한다. 3) balls[0] 탐색 4) balls[1] 탐색 5) balls..
전체 글
[문제 - 31945: 정육면체의 네 꼭짓점 (JAVA)] [접근 방법] 0~7 까지의 입력되는 꼭짓점을 의미하는 정수를 2진수로 변환하면, 해당 꼭짓점의 좌표와 일치한다.예를 들면, '7' = 111(2) 이고, 좌표 (1, 1, 1) 이다. 네 꼭짓점이 한 평면위에 위치하기 위해선, 네 꼭짓점 각 좌표의 합이 x, y, z 중 하나는 0 OR 4 여야 한다. P1, P3, P5, P7 의 꼭짓점을 선택한 경우 이들의 좌표를 모두 더한다면,(0, 0, 1) + (0, 1, 1) + (1, 0, 1) + (1, 1, 1) = (2, 2, 4) 가 된다.이 4개의 좌표 모두 z = 1 평면 위에 존재하기 때문에, 조건에 만족한다. P0, P1, P2, P3 의 꼭짓점을 선택한 경우 이들의 좌표를 모두 ..
1. 자동 정렬 [ Shift + Alt + F ] , [ Ctrl + K + F ][ Shift + Alt + F ] : 파일 전체 코드 자동 정렬[ Ctrl + K + F ] : 선택 행 코드 자동 정렬 2. 변수 자동 생성 [Ctrl + Shift + R -> "Assign statement to new local variable" 선택]
[문제 - 1904번: 01타일 (JAVA)][접근 방법]다이나믹 프로그래밍을 이용하여 문제를 해결하려고 한다.N = 1 - 1가지 (1)N = 2 - 2가지 (00, 11)N = 3 - 3가지 (100, 001, 111)N = 4 - 5가지 (0000, 0011, 1100, 1001, 1111)N = 5 - 8가지 (00001, 00100, 00111, 10000, 10011, 11001, 11100, 11111) N >= 3 에 대하여, [N=N 인 경우] = [N-1 인 경우] + [N-2 인 경우] 가 성립한다는 것을 알 수 있다.이와 같은 관계식으로 DP 문제를 해결하고자 한다.[JAVA 코드]import java.io.BufferedReader;import java.io.BufferedWrit..
[문제 - 11659번: 구간 합 구하기 4 (JAVA)] [접근 방법]1. 2중 for 문을 이용하여서, arr[i] ~ arr[j] 까지 누적합을 구하는 방법=> 시간 초과 2. 2차원 배열 DP[i][j] 를 이용하여 (i, j) 의 값을 저장하는 방법=> 메모리 초과 3. [(1 ~ j) 누적합] - [(1 ~ i-1) 누적합] 을 구하는 방법=> 성공 [JAVA 코드] [시간 초과 - 2중 for 문으로 누적합 구하기]import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;imp..
[문제 - 25026번: 너의 평점은 (JAVA)][접근 방법]1. 전공 평점 = (학점 * 과목 평점) / (학점 총합) 2. '과목 평점' 의 문자를 문자 -> double 로 변경하는 함수가 필요하다. [JAVA 코드]import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.StringTokenizer;public class BOJ_25206 { public static void main(String[] args) throws IOException { ..