🌞Algorithm/🔥programmers

[programmers] 모의고사

뿌야._. 2026. 8. 18. 11:16
문제
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