Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7ca48fc

Browse files
committed
배수빈: [PG] 67254 보석 쇼핑_240212
1 parent d584ca9 commit 7ca48fc

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

‎Programmers/Level3/SB_67258.java‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import java.util.*;
2+
3+
class SB_67258 {
4+
public int[] solution(String[] gems) {
5+
Set<String> set = new HashSet<>(Arrays.asList(gems));
6+
HashMap<String, Integer> map = new HashMap<>();
7+
int N = set.size();
8+
int mn = Integer.MAX_VALUE;
9+
int[] ans = new int[2];
10+
11+
int start = 0;
12+
for (int end = 0; end < gems.length; end++) {
13+
map.put(gems[end], map.getOrDefault(gems[end], 0) + 1); // 하나씩 보석 먹어나가기
14+
while (map.size()==N) { // 먹은 보석의 개수가 전체 보석일때 동안
15+
if (end-start < mn) { // 현재 길이가 짧다면 답 업데이트
16+
mn = end-start;
17+
ans[0] = start;
18+
ans[1] = end;
19+
}
20+
map.put(gems[start], map.getOrDefault(gems[start], 0) - 1);
21+
if (map.get(gems[start])==0) map.remove(gems[start]); // 보석뺐을때 0 되면 그 보석 못먹은거니까 빼기
22+
start++;
23+
}
24+
}
25+
ans[0]++;
26+
ans[1]++;
27+
return ans;
28+
}
29+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /