티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/42840#
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] p1 = {1, 2, 3, 4, 5};
int[] p2 = {2, 1, 2, 3, 2, 4, 2, 5};
int[] p3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
// 맞힌 갯수를 담을 map
Map<Integer, Integer> countMap = new HashMap<Integer, Integer>();
countMap.put(1, 0);
countMap.put(2, 0);
countMap.put(3, 0);
for(int i=0; i<answers.length; i++) {
if(answers[i] == p1[i % p1.length])
countMap.replace(1, countMap.get(1) + 1);
if(answers[i] == p2[i % p2.length])
countMap.replace(2, countMap.get(2) + 1);
if(answers[i] == p3[i % p3.length])
countMap.replace(3, countMap.get(3) + 1);
}
System.out.println(countMap);
for(Integer value : countMap.values())
System.out.println(value);
// 최댓값 찾기
int max = countMap.get(1);
for(Integer value : countMap.values()) {
if(value > max)
max = value;
}
System.out.println("최댓값 : " + max);
// 사람을 담을 list
List<Integer> answerList = new ArrayList<Integer>();
for(Integer key : countMap.keySet()) {
if(countMap.get(key) == max)
answerList.add(key);
}
System.out.println(answerList);
int[] answer = new int[answerList.size()];
for(int i=0; i<answer.length; i++)
answer[i] = answerList.get(i);
return answer;
}
}
'ALGORITHM' 카테고리의 다른 글
[JAVA] [프로그래머스] Level 1 - 연습문제 - 같은 숫자는 싫어 (0) | 2020.08.31 |
---|---|
[JAVA] [프로그래머스] Level 1 - 연습문제 - 가운데 글자 가져오기 (0) | 2020.08.30 |
[JAVA] [프로그래머스] Level 1 - 정렬 - K번째 수 (0) | 2020.08.30 |
[JAVA] [프로그래머스] Level 1 - 그리디 - 체육복 (0) | 2020.08.29 |
[JAVA] [프로그래머스] Level 1 - 해시 - 완주하지 못한 선수 (0) | 2020.08.27 |