https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] first = {1, 2, 3, 4, 5};
int[] second = {2, 1, 2, 3, 2, 4, 2, 5};
int[] third = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
int[] score = {0, 0, 0};
for(int i = 0; i < answers.length; i++){
if(answers[i] == first[i%5]){
score[0]++;
}
if(answers[i] == second[i%8]){
score[1]++;
}
if(answers[i] == third[i%10]){
score[2]++;
}
}
int maxScore = Math.max(score[0], Math.max(score[1], score[2]));
Stack<Integer> stack = new Stack<>();
for(int i = 0; i < score.length; i++){
if(maxScore == score[i]){
stack.push(i+1);
}
}
int[] answer = new int[stack.size()];
for(int i = 0; i < stack.size(); i++){
answer[i] = stack.get(i);
}
return answer;
}
}
/*
1. 각 학생의 찍는 번호의 배열을 선언 - 반복되는 부분 제외
2. 각 학생의 점수 구함
3. 가장 높은 점수 구한 뒤 그 점수를 가진 학생을 알아냄
4. 가장 높은 점수를 받은 학생들을 배열로 반환
*/
'코딩테스트 > 코딩테스트 문제풀이' 카테고리의 다른 글
| [Java] 프로그래머스 <정수 제곱근 판별> (0) | 2025.03.01 |
|---|---|
| [Java] 프로그래머스 <자연수 뒤집어 배열로 만들기> (0) | 2025.03.01 |
| [Java] 프로그래머스 <최소직사각형> (0) | 2025.02.28 |
| [Java] 프로그래머스 <의상> (0) | 2025.02.22 |
| [Java] 프로그래머스 <n^2 배열 자르기> (0) | 2025.02.22 |