문제
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 모의고사 >
문제 풀이 (Java)
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] answer = {};
int a[] = { 1, 2, 3, 4, 5 };
int b[] = { 2, 1, 2, 3, 2, 4, 2, 5 };
int c[] = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 };
int aScore = 0, bScore = 0, cScore = 0;
for (int i = 0; i < answers.length; i++) {
if (answers[i] == a[i % a.length]) {
aScore += 1;
}
if (answers[i] == b[i % b.length]) {
bScore += 1;
}
if (answers[i] == c[i % c.length]) {
cScore += 1;
}
}
int max = Math.max(Math.max(aScore, bScore), cScore);
ArrayList<Integer> list = new ArrayList<>();
if (aScore == max) {
list.add(1);
}
if (bScore == max) {
list.add(2);
}
if (cScore == max) {
list.add(3);
}
answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
수포자가 각각 문제를 찍는 방식대로 몇 점을 얻을 수 있는지 구한다. 3명 중 최대 점수를 구하고 최대 점수를 얻은 사람들의 번호를 answer에 저장한다. 최종 answer을 반환한다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 구명보트 (0) | 2026.08.20 |
|---|---|
| [programmers] 체육복 (0) | 2026.08.19 |
| [programmers] 더 맵게 (0) | 2026.08.14 |
| [programmers] 주식가격 (0) | 2026.08.13 |
| [programmers] 올바른 괄호 (0) | 2026.08.12 |