4 Jul 2020
2020카카오 인턴십 보석 쇼핑
2020카카오 인턴십 보석 쇼핑
import java.util.*;
class Solution {
Queue<String> q=new LinkedList<>();
HashSet<String> hs=new HashSet<>();
HashMap<String,Integer> hm=new HashMap<>();
int startPoint=0;
int length=Integer.MAX_VALUE;
public int[] solution(String[] gems) {
int[] answer = {};
int start=0;
for(String gem:gems){
hs.add(gem);
}
for(String gem:gems){
q.add(gem);
if(!hm.containsKey(gem)){
hm.put(gem,1);
}else{
hm.put(gem,hm.get(gem)+1);
}
while(true){
String temp=q.peek();
if(hm.get(temp)>1){
hm.put(temp,hm.get(temp)-1);
q.poll();
startPoint++;
}else{
break;
}
}
if(hs.size()==hm.size()&&length>q.size()){
length=q.size();
start=startPoint;
}
}
answer=new int[]{start+1,start+length};
return answer;
}
}