코딩 관련/코딩문제풀기
[프로그래머스] Lv1. 모의고사
메리짱123
2024. 10. 23. 16:49
반응형
또 써본 mapToInt();
학생들 점수산출은 어렵지 않았는데 그 다음에
제일 큰 점수 구하기 -> 제일 큰 점수 가진 학생 구하기 -> 배열 만들기
이게 너무 싫음..
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int[] answers) {
int[] student1 = {1, 2, 3, 4, 5}; //len 5
int[] student2 = {2, 1, 2, 3, 2, 4, 2, 5}; //len8
int[] student3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; //len10
int[] scores = new int[3];
for(int i=0;i<answers.length;i++){
int answer = answers[i];
//학생1정답
if(student1[i%student1.length] == answer) scores[0] += 1;
//학생2정답
if(student2[i%student2.length] == answer) scores[1] += 1;
//학생3정답
if(student3[i%student3.length] == answer) scores[2] += 1;
}
int max = Arrays.stream(scores).max().orElse(0);
List<Integer> students = new ArrayList<>();
for(int i=0;i<scores.length;i++){
if(scores[i] == max){
students.add(i+1);
}
}
return students.stream()
.mapToInt(Integer::intValue)
.toArray();
}
}
반응형