-
[프로그래머스] 튜플 (2019 카카오 개발자 겨울 인턴십)ALGORITHM/PROGRAMMERS 2021. 3. 7. 22:40
programmers.co.kr/learn/courses/30/lessons/64065
2021-03-07
1234567891011121314151617181920212223242526272829303132333435import java.util.*;import java.util.Map.Entry;public class Solution64065 {public static int[] solution(String s) {Map<String, Integer> map = new HashMap<>(); // 나온 숫자들 카운트 저장하는 maps = s.replace("{", "").replace("}", ""); // '{' 와 '}' 제거String[] tmp = s.split(",");for (String p : tmp) {if (map.containsKey(p)) map.put(p, map.get(p) + 1);else map.put(p, 1);}List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet()); // 정렬Collections.sort(list, new Comparator<>() {@Overridepublic int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {return o2.getValue().compareTo(o1.getValue());}});int[] answer = new int[Collections.max(map.values())];int idx = 0;for(Entry<String, Integer> m: list) {answer[idx++] = Integer.parseInt(m.getKey());}return answer;}public static void main(String[] args) {String s = "{{2},{2,1},{2,1,3},{2,1,3,4}}";// String s = "{{123}}";System.out.println(Arrays.toString(solution(s)));}}cs #문제풀이
나온 숫자들의 개수를 카운팅 해준 후 큰 수 부터 차례대로 출력하면 된다.
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 매칭 점수 (2019 KAKAO BLIND RECRUITMENT) (0) 2021.03.29 [프로그래머스] 수식 최대화 (2020 카카오 인턴십) (0) 2021.03.15 [프로그래머스] 오픈채팅방 (2019 KAKAO BLIND RECRUITMENT) (0) 2021.03.05 [프로그래머스] 문자열 압축 (2020 KAKAO BLIND RECRUITMENT) (0) 2021.03.05 [프로그래머스] 징검다리 건너기 (2019 카카오 개발자 겨울 인턴십) (0) 2021.03.04