튜플

문제


문제풀이

String 문자로 주어진 값을 하나씩 카운팅하여서 빈도수가 높은 순으로 다시 정렬을 하여 int[] 값으로 반환하면 되는 문제이다. 


나의 답안

public static int[] solution(String s) {
    Map<String, Integer> map = new HashMap<>();

    String[] split = s.split("[},{]");

    for (String str : split) {
        if ("".equals(str)) continue;
        map.put(str, map.getOrDefault(str, 0) + 1);
    }

    ArrayList<String> list = new ArrayList<>(map.keySet());
    list.sort(((o1, o2) -> map.get(o2) - map.get(o1)));

    return list.stream().mapToInt(i -> Integer.parseInt(i)).toArray();
}

 

'Programmers 문제풀이 > Lv.2' 카테고리의 다른 글

연속 부분 수열 합의 개수  (0) 2023.04.03
n^2 배열 자르기  (0) 2023.04.02
행렬의 곱셈  (0) 2023.04.02
[1차] 캐시  (0) 2023.04.01
귤 고르기  (0) 2023.04.01