코딩테스트/프로그래머스
[Java] 프로그래머스 - 모의고사 (1단계)
배똥회장
2022. 4. 15. 14:04
728x90
코딩 테스트 풀이 체크리스트 |
|
2시간 내에 풀었는가? | O |
본인의 실력으로 풀었는가? | O |
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] case1 = {1, 2, 3, 4, 5};
int[] case2 = {2, 1, 2, 3, 2, 4, 2, 5};
int[] case3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
int[] position = new int[3];
int[] pass = new int[3];
int max = 0;
for (int i = 0; i < answers.length; i++) {
pass[0] += (case1[position[0]] == answers[i]) ? 1 : 0;
pass[1] += (case2[position[1]] == answers[i]) ? 1 : 0;
pass[2] += (case3[position[2]] == answers[i]) ? 1 : 0;
position[0] = position[0] + 1 == case1.length ? 0 : position[0] + 1;
position[1] = position[1] + 1 == case2.length ? 0 : position[1] + 1;
position[2] = position[2] + 1 == case3.length ? 0 : position[2] + 1;
}
max = Math.max(pass[0], Math.max(pass[1], pass[2]));
ArrayList<Integer> arr = new ArrayList<>();
for (int i = 0; i < 3; i++) {
if (pass[i] == max) arr.add(i+1);
}
return arr.stream().mapToInt(Integer::intValue).toArray();
}
}
테스트 1 〉 | 통과 (2.78ms, 80.6MB) |
테스트 2 〉 | 통과 (2.70ms, 74.3MB) |
테스트 3 〉 | 통과 (2.58ms, 75MB) |
테스트 4 〉 | 통과 (2.82ms, 74.2MB) |
테스트 5 〉 | 통과 (2.48ms, 77.1MB) |
테스트 6 〉 | 통과 (3.16ms, 80.1MB) |
테스트 7 〉 | 통과 (2.84ms, 72.7MB) |
테스트 8 〉 | 통과 (3.05ms, 70.5MB) |
테스트 9 〉 | 통과 (4.84ms, 82.2MB) |
테스트 10 〉 | 통과 (2.54ms, 79.4MB) |
테스트 11 〉 | 통과 (4.80ms, 72.4MB) |
테스트 12 〉 | 통과 (3.02ms, 76.2MB) |
테스트 13 〉 | 통과 (8.55ms, 73MB) |
테스트 14 〉 | 통과 (3.33ms, 83.1MB) |
728x90