import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] answer = {};
int[] first = {1,2,3,4,5};
int[] second = {1,3,4,5};
int[] third = {3,1,2,4,5};
int[] uAnswer = new int[3];
//1,2,3,4,5,1,2,3,4,5,1,2,3,4,5
//1는 (answer % 5 == 0) ? 5 : answer % 5;
//(answer % 2 == 1) ? 2 : (answer / 2) % 4;
//1,3,4,5,1,3,4,5
//2,1,2,3,2,4,2,5,2,1,2,3,2,4,2,5
//33,11,22,44,55
//
for(int i = 0; i<answers.length;++i) {
int f = first[i%5];
int s = (i%2 == 0) ? 2 : second[(i/2)%4];
int t = third[(i/2)%5];
if(f == answers[i])
uAnswer[0]++;
if(s == answers[i])
uAnswer[1]++;
if(t == answers[i])
uAnswer[2]++;
}
int max = -1;
List<Integer> list = new ArrayList<>();
for(int i = 0; i<uAnswer.length;++i) {
if(uAnswer[i] > max)
max = uAnswer[i];
}
for(int i = 0; i<uAnswer.length;++i) {
if(uAnswer[i] == max)
list.add(i+1);
}
answer = new int[list.size()];
for(int i = 0; i<list.size();++i)
answer[i] = list.get(i);
return answer;
}
}
찍는 방법의 규칙성만 찾아내면 되는 문제
'문제풀이' 카테고리의 다른 글
프로그래머스(카펫) (0) | 2021.06.10 |
---|---|
프로그래머스(섬 연결하기) (0) | 2021.06.08 |
프로그래머스(조이스틱) (0) | 2021.06.08 |
프로그래머스(체육복) (0) | 2021.06.07 |
프로그래머스(큰 수 만들기) (0) | 2021.06.07 |