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

전영서·2021년 9월 12일
0

Algorithm

목록 보기
29/89

1.문제

2.코드

import java.util.Arrays;

class Solution {
    public int[] solution(int[] answers) {
        int[] answer = {};
        
        int N = answers.length;
        //각 사람들의 정답 패턴
        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};
        
        int person[] = {0,0,0};
        //비교
        for(int i=0; i<N; i++){
            if(answers[i] == p1[i%5]) person[0]++;
            if(answers[i] == p2[i%8]) person[1]++;
            if(answers[i] == p3[i%10]) person[2]++;
        }
      //가장 큰 정답수
        int maxi = 0;
        for(int i=0; i<3; i++)
            maxi = Math.max(person[i], maxi);
        //몇명??
        int count=0;
        for(int i=0; i<3; i++)
            if(person[i]==maxi) count++;
        
        answer = new int[count];
        int n =0;
        for(int i=0; i<3; i++)
            if(person[i]==maxi) answer[n++] = i+1;
        //저장후 정렬
        Arrays.sort(answer);
        
        return answer;
    }
}

3.Review

패턴을 저장해서 비교하면서 정답을 찾아갔다.

profile
꾸준히 성실하게

0개의 댓글