• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

서로 다른 빈도수 만들기

23.06.12 14:30 작성 조회수 178

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;
	}

이처럼 작성했는데 답은 모두 맞게 출력되는데, 강사님이 작성하신 알고리즘이랑 동일한 건가요???

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 동일한 코드로 생각됩니다.