코딩테스트

[프로그래머스] 모의고사

코드사냥꾼 2020. 4. 9. 11:51

💡 문제

💡 나의 풀이 ( 점수 : 100/100 )

import java.util.*;

class Solution {
    public int[] solution(int[] answers) {
        int[] answer = {};
        
        // 학생들의 찍기 패턴
        int[] student1 = {1,2,3,4,5};
        int[] student2 = {2,1,2,3,2,4,2,5};
        int[] student3 = {3,3,1,1,2,2,4,4,5,5};
        
        // 정답 체크하는 카운트 생성
        int cnt1=0, cnt2=0, cnt3=0;
        
        for(int i=0; i<answers.length; i++){
            if(answers[i]==student1[i%student1.length]){
                cnt1++;
            }
            if(answers[i]==student2[i%student2.length]){
                cnt2++;
            }
            if(answers[i]==student3[i%student3.length]){
                cnt3++;
            }
        }
        
        // 최대값 가져오기
        int max = Math.max(Math.max(cnt1,cnt2),cnt3);
        ArrayList<Integer> array = new ArrayList<Integer>();
        
        if(cnt1 == max){
            array.add(1);
        }
        if(cnt2 == max){
            array.add(2);
        }
        if(cnt3 == max){
            array.add(3);
        }
        
        int[] array2 = new int[array.size()];
        for(int i=0; i<array.size(); i++){
            array2[i]=array.get(i);
        }
        
            return array2;
    }
}