Skip to content

Commit b7005d5

Browse files
committed
[Bronze I] Title: 일곱 난쟁이, Time: 104 ms, Memory: 14208 KB -BaekjoonHub
1 parent 08ccc15 commit b7005d5

2 files changed

Lines changed: 27 additions & 23 deletions

File tree

백준/Bronze/2309. 일곱 난쟁이/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
### 성능 요약
66

7-
메모리: 14260 KB, 시간: 104 ms
7+
메모리: 14208 KB, 시간: 104 ms
88

99
### 분류
1010

1111
브루트포스 알고리즘, 정렬
1212

1313
### 제출 일자
1414

15-
2025년 1월 27일 17:01:39
15+
2025년 8월 17일 18:49:58
1616

1717
### 문제 설명
1818

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,43 @@
11
import java.io.*;
22
import java.util.*;
3+
34
public class Main {
4-
static boolean flag;
5-
static int[] cm, selected;
5+
6+
static int[] numbers, selected, answer;
67
static StringBuilder sb = new StringBuilder();
78
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
89
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
10+
911
public static void main(String[] args) throws Exception {
10-
pre_setting();
12+
numbers = new int[9];
13+
selected = new int[7];
14+
answer = new int[7];
15+
16+
for (int i = 0; i < 9; i++) {
17+
numbers[i] = Integer.parseInt(br.readLine());
18+
}
19+
20+
Arrays.sort(numbers);
1121
combi(0, 0, 0);
22+
23+
for (int i = 0; i < 7; i++) sb.append(answer[i]).append("\n");
1224
bw.append(sb);
1325
bw.close();
14-
1526
}
1627

17-
static void combi(int cnt, int sum, int start){
18-
if(cnt == 7){
19-
if(sum == 100 && !flag){
20-
for(int i = 0; i < 7; i++) sb.append(selected[i]).append("\n");
21-
flag = true;
28+
static void combi(int cnt, int start, int sum) {
29+
if (cnt == 7) {
30+
if (sum == 100) {
31+
for (int i = 0; i < 7; i++) {
32+
answer[i] = selected[i];
33+
}
2234
}
2335
return;
2436
}
25-
for(int i = start; i < 9; i++){
26-
selected[cnt] = cm[i];
27-
combi(cnt + 1, sum + cm[i], i + 1);
28-
}
29-
}
3037

31-
static void pre_setting() throws Exception{
32-
cm = new int[9];
33-
selected = new int[7];
34-
35-
for(int i = 0; i < 9; i++) cm[i] = Integer.parseInt(br.readLine());
36-
Arrays.sort(cm);
38+
for (int i = start; i < 9; i++) {
39+
selected[cnt] = numbers[i];
40+
combi(cnt + 1, i + 1, sum + numbers[i]);
41+
}
3742
}
38-
3943
}

0 commit comments

Comments
 (0)