모의고사

Seongjin Jo·2023년 2월 22일
0

프로그래머스 LV1

목록 보기
20/31

문제

풀이

import java.util.*;
class Solution {
    public ArrayList<Integer> solution(int[] answers) {
        ArrayList<Integer> answer= new ArrayList<>();
        int[] num1 = {1,2,3,4,5};
        int[] num2 = {2,1,2,3,2,4,2,5};
        int[] num3 = {3,3,1,1,2,2,4,4,5,5};
        int[] score = new int[3];
        
        for(int i=0; i<answers.length; i++){
            if(answers[i] == num1[i%5]) score[0]++;
            if(answers[i] == num2[i%8]) score[1]++;
            if(answers[i] == num3[i%10]) score[2]++;
        }
        int max=0;
        max = Math.max(score[0],Math.max(score[1],score[2]));
        
        for(int i=0; i<3; i++){
            if(score[i] == max) answer.add(i+1);
        }
        
        return answer;
    }
}
  1. 찍는 방식을 각각 num1~3에 담아준다.
  2. answers.length까지 for문을 돌려서 num1~3에 담은 배열의 값이 나오게 한다. 각 크기 만큼 나눈 나머지를 해주면 된다.
  3. 최대값을 구해서 해당 최댓값인 인덱스+1을 answer에 넣는다.

0개의 댓글