728x90
문제
접근 방법
- 브루트 포스로 9개중 2개를 빼면서 풀 수 있다.
- 투포인터로 풀 수 있다.
코드 1. 브루트포스
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static int[] arr;
private static int sum = 0;
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
arr = new int[9];
for(int i = 0 ; i < 9; i++){
arr[i] = Integer.parseInt(br.readLine());
sum += arr[i];
}
Arrays.sort(arr);
}
//과정
public static void process() {
outer : for(int i = 0 ; i < 8; i++){
for(int j = i+1 ; j < 9 ; j++){
if(sum-arr[i]-arr[j] == 100){
for(int k = 0 ; k < 9 ; k++){
if( i==k || j ==k ) continue ;
sb.append(arr[k]).append("\n");
}
break outer;
}
}
}
System.out.println(sb.toString());
}
public static void main(String[] args) throws Exception {
input();
process();
}
}
코드 2. 투 포인터
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static StringTokenizer st;
private static int[]arr = new int[9];
private static int sum = 0;
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
for(int i = 0 ; i < 9 ; i++){
arr[i] = Integer.parseInt(br.readLine());
sum+=arr[i];
}
Arrays.sort(arr);
}
//실행
public static void process() {
int s = 0;
int e = 8;
while(s<e){
int tmp = sum-arr[s]-arr[e];
if(tmp == 100){
for(int i = 0 ; i < 9; i++){
if(i == s || i == e) continue;
sb.append(arr[i]).append("\n");
}
break;
} else if (tmp < 100) {
e--;
} else if (tmp > 100) {
s++;
}
}
System.out.println(sb.toString());
}
public static void main(String[] args) throws Exception {
input();
process();
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 2875번 : 대회 or 인턴 (0) | 2024.04.13 |
---|---|
[Java] 백준 14568번 : 2017 연세대학교 프로그래밍 경시대회 (0) | 2024.04.13 |
[Java] 백준 16283번 : Farm (0) | 2024.04.11 |
[Java] 백준 17945번 : 통학의 신 (0) | 2024.04.11 |
[Java] 백준 1181번 : 단어 정렬 (0) | 2024.04.11 |