문제를 보고 처음에는 새로운 배열을 만들어서 비교를 해봐야 하나 생각했다.
그런데 반환 값이 최고 순위와 최저 순위이니 그렇게 하는 건 불필요하다고 생각하고 답안을 작성했다.
최종 답안
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int match = 0;
int zero = 0;
// 두 배열을 비교해서 최저 순위 구하기
for(int i=0; i<lottos.length; i++) {
for(int k=0; k<win_nums.length; k++) {
if(lottos[i] == win_nums[k]) {
match++;
}
}
// 0 개수 세기
if(lottos[i] == 0) {
zero++;
}
}
// 최대 등수
int total = match + zero;
// 등수 측정 배열
final int[] rank = {6, 6, 5, 4, 3, 2, 1};
// answer 배열 초기화
int[] answer = {0, 0};
answer[0] = rank[total];
answer[1] = rank[match];
return answer;
}
}
'코딩 테스트' 카테고리의 다른 글
(Java) 프로그래머스 행렬 테두리 회전하기 (0) | 2021.10.17 |
---|---|
(Java) 프로그래머스 더 맵게 (0) | 2021.10.17 |
(Java) 프로그래머스 기능 개발 (0) | 2021.10.17 |
(Java) 프로그래머스 체육복 (0) | 2021.09.01 |
(Java) 프로그래머스 직사각형 별 찍기 (0) | 2021.08.13 |