728x90
문제 링크
https://www.acmicpc.net/problem/2309
문제 설명
백설공주는 일곱 난쟁이와 같이 사는데, 어디 갔다 오니 두 명이 추가되어 아홉 난쟁이가 되었다.
여기서 진짜 일곱 난쟁이를 찾는 문제다.
단, 진짜 일곱 난쟁이 키의 합은 100이다.
해설
단순하게 아홉 난쟁이 키에서 두명을 뺐을 경우 키의 합이 100이 되는 경우를 찾아서 일곱 명의 키를 출력하면 된다.
여기서 두명의 난쟁이를 찾을 때 브루트포스 알고리즘을 사용하면 된다.
코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] people = new int[9];
int sum = 0;
for (int i = 0; i < 9; i++) {
people[i] = Integer.parseInt(br.readLine());
sum += people[i];
}
findSeven(sum, people);
Arrays.sort(people);
for (int i = 0; i < 7; i++) {
System.out.println(people[i]);
}
br.close();
}
public static void findSeven(int sum, int[] people) {
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 9; j++) {
if (sum - people[i] - people[j] != 100) {
continue;
}
people[i] = Integer.MAX_VALUE;
people[j] = Integer.MAX_VALUE;
return;
}
}
}
}
728x90
'알고리즘 > 브루트포스' 카테고리의 다른 글
[자바]백준 3085번 사탕게임[브루트포스][엄탱] (4) | 2023.03.21 |
---|---|
[자바]백준 1476번 날짜 계산[브루트포스][엄탱] (5) | 2023.03.11 |
[자바]백준 1018번 체스판 다시 칠하기[브루트포스][엄탱] (2) | 2023.03.11 |
[자바]백준 7568번 덩치[브루트포스][엄탱] (1) | 2023.03.10 |
[자바]백준 2231번 분해합[브루트포스][엄탱] (0) | 2023.03.10 |