Skip to content

Commit 731f8a5

Browse files
committed
[level 3] Title: N으로 표현, Time: 20.42 ms, Memory: 89.5 MB -BaekjoonHub
1 parent c59e479 commit 731f8a5

File tree

2 files changed

+22
-28
lines changed

2 files changed

+22
-28
lines changed
Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,44 @@
11
import java.util.*;
22

33
class Solution {
4+
HashSet<Integer> set = new HashSet<>();
5+
ArrayList<HashSet<Integer>> dp = new ArrayList<>();
46

57
public int solution(int N, int number) {
6-
ArrayList<Set<Integer>> dp = new ArrayList<>();
78

8-
// 1~8까지만
9-
for(int i = 0; i < 9; i++){
10-
dp.add(new HashSet<>());
9+
for(int i = 0; i< 9; i++){
10+
dp.add(new HashSet<>());
1111
}
12-
for(int i = 1; i < 9;i++){
12+
13+
for(int i = 1; i< 9; i++){
1314
Set<Integer> currentSet = dp.get(i);
1415

15-
StringBuilder stringBuilder = new StringBuilder();
16-
// N을 이어 붙이기
17-
for(int j = 0; j < i;j++){
18-
stringBuilder.append(N);
16+
StringBuilder sb = new StringBuilder();
17+
18+
// 이어 붙이기
19+
for(int j = 0; j < i; j++){
20+
sb.append(N);
1921
}
20-
currentSet.add(Integer.parseInt(stringBuilder.toString()));
22+
currentSet.add(Integer.parseInt(sb.toString()));
2123

22-
// 사칙연산을 통해 추가
23-
for(int j = 1;j < i; j++){
24-
int k = i - j;
25-
26-
Set<Integer> setK = dp.get(k);
24+
// 사칙연산
25+
for(int j = 0; j < i; j++){
2726
Set<Integer> setJ = dp.get(j);
27+
Set<Integer> setK = dp.get(i-j);
2828

29-
for(int num1 : setK){
30-
for(int num2 : setJ) {
29+
for(int num1 : setJ){
30+
for(int num2 : setK){
3131
currentSet.add(num1 + num2);
3232
currentSet.add(num1 - num2);
3333
currentSet.add(num1 * num2);
34-
if(num2 != 0){
35-
currentSet.add(num1 / num2);
36-
}
34+
if(num2 != 0) currentSet.add(num1 / num2);
3735
}
3836
}
3937
}
4038

41-
// dp에서 number를 찾아서 반환
42-
if(currentSet.contains(number)){
43-
return i;
44-
}
39+
if(currentSet.contains(number)) return i;
40+
4541
}
46-
4742
return -1;
4843
}
49-
5044
}

프로그래머스/3/42895. N으로 표현/README.md

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

55
### 성능 요약
66

7-
메모리: 82.6 MB, 시간: 23.65 ms
7+
메모리: 89.5 MB, 시간: 20.42 ms
88

99
### 구분
1010

@@ -16,7 +16,7 @@
1616

1717
### 제출 일자
1818

19-
2025년 08월 31일 10:16:28
19+
2025년 09월 06일 12:11:25
2020

2121
### 문제 설명
2222

0 commit comments

Comments
 (0)