풀이
class Solution {
public int[] solution(int[] answers) {
int[] answer = {};
int[] countanswer = new int[3]; // 각 수포자가 맞힌 정답의 수
int[] personAnswer = new int[answers.length]; // 각 수포자의 정답 표
int max = 0;
int same = 0;
int index = 0;
for(int i=0; i<3; i++){
int ACount = 0;
if(i==0){
for(int j=0; j<answers.length; j++){
if(j % 5 == 0){
personAnswer[j] = 1;
}else if(j % 5 == 1){
personAnswer[j] = 2;
}else if(j % 5 == 2){
personAnswer[j] = 3;
}else if(j % 5 == 3){
personAnswer[j] = 4;
}else {
personAnswer[j] = 5;
}
}
for(int j=0; j<answers.length; j++){
if(answers[j] == personAnswer[j]){
ACount++;
}
}
}else if(i==1){
int count = 1;
for(int j=0; j<answers.length; j++){
if(j%2 == 0){
personAnswer[j] = 2;
}else{
personAnswer[j] = count;
count++;
if(count == 2){
count++;
}
if(count == 6){
count = 1;
}
}
}
for(int j=0; j<answers.length; j++){
if(answers[j] == personAnswer[j]){
ACount++;
}
}
}else{
for(int j=0; j<answers.length; j++){
if(j % 10 == 0 || j % 10 == 1){
personAnswer[j] = 3;
}else if(j % 10 == 2 || j % 10 == 3){
personAnswer[j] = 1;
}else if(j % 10 == 4 || j % 10 == 5){
personAnswer[j] = 2;
}else if(j % 10 == 6 || j % 10 == 7){
personAnswer[j] = 4;
}else {
personAnswer[j] = 5;
}
}
for(int j=0; j<answers.length; j++){
if(answers[j] == personAnswer[j]){
ACount++;
}
}
}
if(max < ACount){
max = ACount;
same = 1;
}else if(max == ACount){
same++;
}
countanswer[i] = ACount;
}
answer = new int[same];
for(int i=0; i<3; i++){
if(countanswer[i] == max){
answer[index] = i+1;
index++;
}
}
return answer;
}
}
결과
'코딩 문제 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 코딩테스트 - Level1 - K번째수 (0) | 2021.02.22 |
---|---|
프로그래머스 - 코딩테스트 - Level1 - 체육복 (0) | 2021.02.22 |
프로그래머스 - 코딩테스트 - Level1 - 신규 아이디 추천 (0) | 2021.02.22 |
프로그래머스 - 코딩테스트 - Level1 - 완주하지 못한 선수 (0) | 2021.02.22 |
프로그래머스 - 코딩테스트 - Level1 - 크레인 인형뽑기 게임 (0) | 2021.02.22 |