Skip to content

Commit 1606d90

Browse files
committed
[Silver III] Title: 1, 2, 3 더하기, Time: 104 ms, Memory: 14100 KB -BaekjoonHub
1 parent cd488cd commit 1606d90

2 files changed

Lines changed: 35 additions & 16 deletions

File tree

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,37 @@
1+
import java.io.BufferedReader;
2+
import java.io.InputStreamReader;
13
import java.util.*;
2-
import java.io.*;
34

45
public class Main {
5-
public static void main(String[] args) throws Exception {
6-
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
7-
int t = Integer.parseInt(reader.readLine());
8-
int[] dp = new int[11];
9-
dp[1] = 1;
10-
dp[2] = 2;
11-
dp[3] = 4;
6+
private static int count = 0;
127

13-
for (int i = 4; i < 11; i++) {
14-
dp[i] = dp[i-1] + dp[i-2] + dp[i-3];
8+
public static void main(String[] args) throws Exception {
9+
// System.setIn(new FileInputStream("input.txt")); // 제출 시 이 줄만 주석처리
10+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11+
int T = Integer.parseInt(br.readLine());
12+
13+
for (int i = 1; i <= T; i++) {
14+
int target = Integer.parseInt(br.readLine());
15+
16+
count = 0;
17+
dfs(1, target);
18+
dfs(2, target);
19+
dfs(3, target);
20+
System.out.println(count);
21+
}
1522
}
1623

17-
for (int tc = 0; tc < t; tc++){
18-
int n = Integer.parseInt(reader.readLine());
19-
System.out.println(dp[n]);
20-
}
21-
}
24+
public static void dfs(int sum, int target) {
25+
if (sum > target) {
26+
return;
27+
}
28+
if (sum == target) {
29+
count++;
30+
return;
31+
}
32+
33+
dfs(sum + 1, target);
34+
dfs(sum + 2, target);
35+
dfs(sum + 3, target);
36+
}
2237
}

백준/Silver/9095. 1, 2, 3 더하기/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@
44

55
### 성능 요약
66

7-
메모리: 14176 KB, 시간: 132 ms
7+
메모리: 14100 KB, 시간: 104 ms
88

99
### 분류
1010

1111
다이나믹 프로그래밍
1212

13+
### 제출 일자
14+
15+
2026년 1월 13일 21:26:50
16+
1317
### 문제 설명
1418

1519
<p>정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.</p>

0 commit comments

Comments
 (0)