728x90
반응형
package programmers.leve1;
import java.util.*;
public class 모의고사 {
public int[] solution(int[] answers) {
int[] answer= {};
int[] a1 = {1,2,3,4,5};
int[] a2 = {2, 1, 2, 3, 2, 4, 2, 5};
int[] a3 = {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]==a1[i%a1.length])
{
score[0]++;
}
if(answers[i]==a2[i%a2.length])
{
score[1]++;
}
if(answers[i]==a3[i%a3.length])
{
score[2]++;
}
}
List<Integer> list=new ArrayList<Integer>(); // 최대값 비교
int max=Math.max(Math.max(score[0], score[1]),score[2]);
if(max==score[0])
{
list.add(1);
}
if(max==score[1])
{
list.add(2);
}
if(max==score[2])
{
list.add(3);
}
Collections.sort(list); // 오름차순 정리
answer=new int[list.size()];
for(int i=0; i<answer.length; i++)
{
answer[i]=list.get(i);
}
return answer;
}
}
새로 알게 된것 정리
1. Math.max : 두개의 수를 비교하는 메소드이나, 두 번 겹쳐쓰면 3개 숫자도 비교 가능하다.
2. Collections.sort : List의 값들을 오름차순으로 정렬해준다.
728x90
반응형
'programming > 코테연습' 카테고리의 다른 글
[Java] 프로그래머스 핸드폰 번호 가리기 - level1 (0) | 2021.05.09 |
---|---|
[Java] 프로그래머스 행렬의 덧셈 - level1 (0) | 2021.05.09 |
[Java] 프로그래머스 x만큼 간격이 있는 n개의 숫자 - level1 (0) | 2021.05.09 |
[Java] 프로그래머스 직사각형 별찍기 - level1 (0) | 2021.05.09 |
(자바)프로그래머스 level1 - 두 정수 사이의 합 (0) | 2021.03.11 |