티스토리 뷰
알고리즘이 너무약해서 우선은 쉬운것부터 차근히 시작하기로.
천천히 성장하자
프로그래머스 Level1 1번문제
풀수있을까 했는데 다행히 풀었다!
나의 풀이
function solution(lottos, win_nums) {
let answer = [];
let matchcount = 0; //0개 //2개
let zerocount = 0; //6개 //2개
// 0 인 값을 제외시킨다.
//
for(let i=0; i<lottos.length; i++){
if(lottos[i] === 0 ){
zerocount ++
}
for(let j=0; j<win_nums.length; j++){
if(lottos[i] === win_nums[j]){
matchcount ++
break;
}
}
} // 지금까지나온 로또 넘버가 보인다. //최고 순위 최저순위 생각
answer[0]= Math.min(7-(matchcount+zerocount),6)
answer[1]= Math.min(7-matchcount,6)
return answer
}
아래 좋은풀이
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]];
}
나는 아직 기본 문법으로만 풀고있는데
rank로 미리 배열을 만들어주는 방법도있었다.
다른사람의좋은코드도 잘흡수하자
'알고리즘 > 프로그래머스' 카테고리의 다른 글
나누어 떨어지는 숫자 배열 (0) | 2021.12.12 |
---|---|
콜라츠추측 (0) | 2021.12.09 |
최소공배수 최대공약수 (0) | 2021.12.09 |
없는 숫자 더하기 (0) | 2021.11.19 |