IT/알고리즘
프로그래머스 모의고사
어센트
2020. 5. 16. 15:50
https://programmers.co.kr/learn/courses/30/lessons/42840
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 ��
programmers.co.kr
기본적인 문제였는데 시간을 많이썼다. 자꾸 이차원 배열로 문제를 풀려다보니 그런것 같다. 간단한 문제는 최대한 쉽게 풀자!!
풀이
package lv1;
import java.util.ArrayList;
public class 모의고사 {
public static void main(String[] args) {
int [] a= {1,3,2,4,2};
int [] ans = solution(a);
for(int i:ans) System.out.println(i);
}
public static int[] solution(int[] answers) {
int[] answer ={};
int[] s1 = {1,2,3,4,5};
int[] s2 = {2,1,2,3,2,4,2,5};
int[] s3 = {3,3,1,1,2,2,4,4,5,5};
int ans1 = 0 , ans2 = 0, ans3 = 0;
for(int i=0;i<answers.length;i++){
if(s1[i%s1.length] ==answers[i]) ans1++;
if(s2[i%s2.length] ==answers[i]) ans2++;
if(s3[i%s3.length] ==answers[i]) ans3++;
}
int max = Math.max(Math.max(ans1,ans2),ans3);
ArrayList<Integer> list = new ArrayList<>();
if(max== ans1) list.add(1);
if(max== ans2) list.add(2);
if(max== ans3) list.add(3);
answer = new int [list.size()];
for(int i=0;i<list.size();i++){
answer[i] = list.get(i);
}
return answer;
}
}