728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42840
문제해석
내가 예전 코테에서 못풀었던 비슷한 유형
못풀었던 이유는 저 많이나온 값을 카운트 하는 것 까지는 생각했는데 그 값을 저장하고 다시 for문으로 탐색하여 다시 배열에 넣는 로직을 못했기 때문이었다. 이 문제를 풀게되서 기쁘다
문제풀이
ArrayList와 배열의 스트림 사용법이 다르다.
List계열일 경우 arr.stream() 이런식이지만 배열은 Arrays.stream(arr)로 List계열로 변환한 뒤 작업해준다.
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int [][]arr = {{1,2,3,4,5}, {2,1,2,3,2,4,2,5}, {3,3,1,1,2,2,4,4,5,5}};
int []people = new int[3];
for(int i=0; i<answers.length; i++){
for(int j=0; j<arr.length; j++){
if(answers[i] == arr[j][i % arr[j].length]){
people[j]++;
}
}
}
ArrayList<Integer> answer = new ArrayList<>();
int maxScore = Arrays.stream(people).max().getAsInt();
for(int k=0; k<people.length; k++){
if(people[k] == maxScore){
answer.add(k + 1);
}
}
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] 괄호 회전하기 - java (0) | 2024.08.08 |
---|---|
[프로그래머스] 올바른 괄호 - java (0) | 2024.08.05 |
[프로그래머스] 두 개 뽑아서 더하기 - java (0) | 2024.07.25 |
[2020 카카오 인턴십] 키패드 누르기- java (2) | 2024.07.24 |
[2024 KAKAO WINTER INTERNSHIP] 가장 많이 받은 선물 - java (0) | 2024.07.24 |