반응형
문제 제목 : 로또의 최고 순위와 최저 순위
문제 유형 : 완전 탐색
출제 플랫폼 : Programers
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/77484
내가 푼 답안
function solution(lottos, win_nums) {
let min = 7 - lottos.filter(el => win_nums.indexOf(el) >= 0).length
if(min > 6) min = 6
let max = 7 - lottos.map(el => {
if(el === 0) {
for(let win_num of win_nums) {
if(!lottos.includes(win_num) ) {
return win_num
}
}
}
else return el
}).filter(el => win_nums.indexOf(el) >= 0).length
if(max > 6) max = 6
return [max , min];
}
다른 사람의 풀이
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]];
}
배운점
1) 0이 아닌 숫자를 조건문에 넣을때 !0을 사용하여 깔끔하게 표현이 가능하다
2) 문제를 파악할 때 예외의 여부를 파악해야 한다
- 해당 문제는 예외가 없던 문제였지만 예외파악에 시간이 많이 듬반응형
'Algorithm' 카테고리의 다른 글
| [Python, 이분탐색] 백준 1072 게임 (1) | 2024.10.28 |
|---|---|
| Programsers JadenCase 문자열 만들기 - JavaScript (0) | 2022.10.14 |
| Programers 키패드 누르기 (2020 카카오 인턴십) - JavaScript (1) | 2022.09.23 |
| Programers 비밀지도 (2018 카카오 신입 공채 1차) - JavaScript (1) | 2022.09.23 |
| Programers 체육복 - JavaScript (0) | 2022.09.22 |
