728x90
[Javascript] (프로그래머스 level 1) 로또의 최고 순위와 최저 순위
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
function solution(lottos, win_nums) {
// 배열 두개 비교해서 같은 넘버인놈 갯수 카운트,
// 최저는 카운트 등수
// 최고는 카운트 + 0의 갯수 등수
let zeros = lottos.filter((x) => x === 0).length;
let count = 0;
for (let winNum of win_nums) {
for (let pickNum of lottos) {
if (pickNum === winNum) {
count++;
}
}
}
let result = [6, 6, 5, 4, 3, 2, 1];
return [result[count + zeros], result[count]]
}
다른 사람 풀이
function solution(lottos, win_nums) {
const rank = [6, 6, 5, 4, 3, 2, 1];
let minCount = lottos.filter(v => win_nums.includes(v)).length;
let zeroCount = lottos.filter(v => !v).length;
const maxCount = minCount + zeroCount;
return [rank[maxCount], rank[minCount]];
}
let zeroCount = lottos.filter(v => !v).length;
- filter(v ⇒ !v) 로 제로 걸러내는건 좀 신기하네요
배운 점, 느낀 점
- 성능면에선 포문 두개 돌리는게 조금 더 빠를것 같지만…
- 가독성 면에선 includes로 걸러내는게 훨씬 좋네요.
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (프로그래머스 level 2) 피보나치 수 (0) | 2022.08.15 |
---|---|
[Javascript] (백준 11170) 0의 개수 (0) | 2022.07.09 |
[Javascript] (백준 1969) DNA (0) | 2022.07.09 |
[Javascript] (프로그래머스 level 1) 약수의 개수와 덧셈 (0) | 2022.07.08 |
[Javascript] (프로그래머스 level 2) 기능 개발 (0) | 2022.07.02 |
[Javascript] (프로그래머스 level 2) 숫자의 표현 (0) | 2022.07.02 |
[Javascript] (프로그래머스 level 2) 이진 변환 반복하기 (0) | 2022.07.01 |
[Javascript] (프로그래머스 level 2) n진수 게임 (0) | 2022.07.01 |
댓글