Skip to content

Commit 4eaf367

Browse files
authored
[20251011] PGM / LV2 / 메뉴 리뉴얼 / 김수연
1 parent 430f3e3 commit 4eaf367

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
```java
2+
import java.util.*;
3+
4+
class Solution {
5+
Map<String, Integer> map;
6+
int max = 0;
7+
8+
public void dfs(String order, String key, int index, int end, int depth) {
9+
if(depth == end) {
10+
map.put(key, map.getOrDefault(key, 0) + 1);
11+
max = Math.max(max, map.get(key));
12+
}
13+
14+
for(int i = index + 1; i < order.length(); i++) {
15+
dfs(order, key + order.charAt(i), i, end, depth + 1);
16+
}
17+
}
18+
19+
public String[] solution(String[] orders, int[] course) {
20+
ArrayList<String> ans = new ArrayList<>();
21+
22+
for(int c : course) {
23+
map = new HashMap<>();
24+
max = 0;
25+
26+
for(String order: orders) {
27+
char[] strs = order.toCharArray();
28+
Arrays.sort(strs);
29+
order = new String(strs);
30+
dfs(order, "", -1, c, 0);
31+
}
32+
33+
for(String key : map.keySet()) {
34+
int value = map.get(key);
35+
if(value > 1 && max == value) {
36+
ans.add(key);
37+
}
38+
}
39+
}
40+
41+
Collections.sort(ans);
42+
String[] answer = ans.toArray(new String[ans.size()]);
43+
44+
return answer;
45+
}
46+
}
47+
```

0 commit comments

Comments
 (0)