작성
·
211
0
public int solution(String s){
int answer = 0;
HashMap<String, Integer> map = new HashMap<>();
HashSet<Integer> hs = new HashSet<>(); //유일하게 존재해야한다 => 해시셋 사용
String[] list = s.split("");
for(int i=0; i<list.length; i++) {
map.put(list[i], map.getOrDefault(list[i], 0)+1);
}
for(String x : map.keySet()) {
int check = map.get(x);
while(hs.contains(check)) { //셋에 이미 숫자가 있으면 하나를 감소
check--;
if(check==0) { //0은 넣지 않는다.
answer++;
break;
}
answer++;
}
hs.add(check);
}
return answer;
}
이처럼 작성했는데 답은 모두 맞게 출력되는데, 강사님이 작성하신 알고리즘이랑 동일한 건가요???