728x90
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
처음엔 재귀로 문제를 풀었는데, 런타임에러가 발생했다.
그래서 재귀보다는 for문 안에서 mod를 사용해서 해결하면 시간절약이 될 것 같아 나머지로 해결
전체코드
import java.io.*;
import java.util.*;
class Solution {
static int[] math1 = {1, 2, 3, 4, 5};
static int[] math2 = {2, 1, 2, 3, 2, 4, 2, 5};
static int[] math3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
static int sum1 = 0;
static int sum2 = 0;
static int sum3 = 0;
public List<Integer> solution(int[] answers) {
int max = 0;
for(int i=0; i<answers.length; i++){
if(answers[i] == math1[i%math1.length]){
sum1++;
}
if(answers[i] == math2[i%math2.length]){
sum2++;
}
if(answers[i] == math3[i%math3.length]){
sum3++;
}
}
max = Math.max(sum1, Math.max(sum2, sum3));
List<Integer> list = new ArrayList<>();
if(sum1 == max){
list.add(1);
}
if(sum2 == max){
list.add(2);
}
if(sum3 == max){
list.add(3);
}
Collections.sort(list);
return list;
}
}
728x90
'코테 > Algorithm' 카테고리의 다른 글
[Programmers] PCCP 기출문제 충돌위험 찾기 (JAVA) (0) | 2024.11.21 |
---|---|
[Programmers] 평행 (JAVA) (0) | 2024.11.19 |
[Programmers] 최대공약수와 최소공배수 (JAVA) (0) | 2024.11.10 |
[Programmers] 예산 (JAVA) (0) | 2024.11.10 |
[Programmers] 안전지대 (JAVA) (2) | 2024.11.09 |