
생각 과정
0이 있는 개수와 맞은 개수를 따로 카운트해서,
좋은 등수의 경우 0도 맞은 개수 포함,
나쁜 등수의 경우 0은 그냥 제외.
이후에는 등수 계산하여 등수를 반환하도록 하자.
function solution(lottos, win_nums) {
// 변수 선언
const answer = [];
let zeroCount = 0;
let trueCount = 0;
// 로또 배열과 당첨 번호를 오름차순으로 정렬
lottos.sort((a, b) => (a - b));
win_nums.sort((a, b) => (a - b));
// 로또 배열과 당첨 번호를 비교
for (let i = 0; i < 6; i++) {
// 로또 번호가 0이면 바로 다음 로또 번호 비교
if (lottos[i] === 0) {
zeroCount += 1;
continue;
}
// 로또 번호와 당첨 번호가 같은지
for (let j = 0; j < 6; j++) {
if (lottos[i] === win_nums[j]) {
trueCount += 1;
break;
}
}
}
// 좋은 등수와 나쁜 등수 계산
const rank = 7 - trueCount
const goodRank = Rank - zeroCount >= 6 ? 6 : Rank - zeroCount;
const badRank = Rank >= 6 ? 6 : Rank;
answer.push(goodRank);
answer.push(badRank);
return answer;
}'문제 풀이 > Programmers' 카테고리의 다른 글
| [프로그래머스] 76501번: 음양 더하기 (JavaScript) (0) | 2025.07.04 |
|---|---|
| [프로그래머스] 12935번: 제일 작은 수 제거하기 (JavaScript) (0) | 2025.07.04 |
| [프로그래머스] 42576번: 완주하지 못한 선수 (JavaScript) (0) | 2025.07.04 |
| [프로그래머스] 68644번: 두 개 뽑아서 더하기 (JavaScript) (0) | 2025.07.04 |
| [프로그래머스] 42748번: K번째수 (JavaScript) (0) | 2025.07.04 |