반응형 개발/알고리즘12 [프로그래머스/JAVA] 베스트 앨범 - 해시 먼저 생각했던 풀이 방법은 아래와 같다. 각 장르의 개수를 HashMap에 담기 classic : 3 pop : 2 각 장르의 재생 횟수 합계를 HashMap에 담고, 내림차순으로 sorting하기 pop : 3100 classic : 1450 pop 장르의 재생 횟수 합계가 가장 많으므로 pop 장르 노래의 index가 먼저 수록되어야 한다. ex) 4, 1 그 다음으론 classic 장르 노래의 index가 수록되어야 하는데 각 장르별 2개씩만 수록될 수 있으므로 3, 0이 차례로 수록되고 2는 수록되지 못한다. 따라서 앨범엔 4, 1, 3, 0 index 순으로 수록된다. 이를 위하여 HashMap hm = new HashMap(); 를 생성하였다. key는 장르이며, value가 또 HashMap.. 2022. 2. 20. [프로그래머스/JAVA] 위장 - 해시 이 문제는 HashMap에 put하는 부분이 완주하지 못한 선수 문제와 똑같다. 먼저 HashMap에 옷의 종류별로 몇 개가 있는지 put 하도록 하자. import java.util.HashMap; class Solutio { public int solution(String[][] clothes) { int answer = 1; HashMap hm = new HashMap(); for (int i=0; i 2022. 2. 18. [프로그래머스/JAVA] 전화번호 목록 - 해시 먼저 배열의 데이터 하나하나를 다 비교하는 단순한 방법으로 풀어보았다. 역시나 효율성 테스트에서 탈락! 이렇게 풀지 말라고 기록해본다.. class Solution { public boolean solution(String[] phone_book) { boolean answer = true; for(int i=0; i 2022. 2. 18. [프로그래머스/JAVA] 완주하지 못한 선수 - 해시 1. Sort 참여자와 완주자 Array를 정렬한 후 값을 비교하는 방법 입출력 예의 세번째 경우를 sort하면 participant는 ana | mislav | mislav | stanko ▼ -------------- 일치하지 않음 completion는 ana | mislav | stanko import java.util.Arrays; class Solution { public String solution(String[] participant, String[] completion) { Arrays.sort(participant); Arrays.sort(completion); int i; for (i = 0; i < completion.length; i++) { if (!participant[i].eq.. 2022. 2. 18. 이전 1 2 다음 728x90 반응형