[프로그래머스] 로또의 최고 순위와 최저 순위🤣

GoGoDev·2021년 7월 2일
0

Programmers Lv.1🌱

목록 보기
46/46

https://programmers.co.kr/learn/courses/30/lessons/77484

나의 풀이(switch case 사용)

let answer = [];
function rank(correct){
    switch(correct){
        case 6:
            answer.push(1);
            break;
        case 5:
            answer.push(2);
            break;
        case 4:
            answer.push(3);
            break;
        case 3:
            answer.push(4);
            break;
        case 2:
            answer.push(5);
            break;
        default:
            answer.push(6)
            break;
    }
}
function solution(lottos, win_nums) {
    var count = 0;
    for(let i = 0; i < 6; i++){
        if((win_nums.includes(lottos[i])) === true){
            count++;
        }
    }
    rank(count);
    count = 0
    for(let i = 0; i < 6; i++){
        if((win_nums.includes(lottos[i])) === true || lottos[i] === 0){
            count++;
        }
    }
    rank(count)
    return answer.sort((a,b) => a-b);
}
function solution(lottos, win_nums) {
    let answer = [];
    let count = 0;
    for(let i = 0; i < 6; i++){
        if((win_nums.includes(lottos[i])) === true){
            count++;
        }
    }
    let zero = lottos.filter(n => n === 0).length
    let max = count + zero;
    let min = count;
    if(min === 0)
        min = 1;
    answer.push(7-max)
    answer.push(7-min)
    return answer.sort((a,b) => a-b);
}

다른 분의 풀이(filter, rank배열 사용)

function solution(lottos, win_nums) {
    const answer = [];
    const min = lottos.filter(n => win_nums.includes(n)).length;
    const max = lottos.filter(n => n === 0).length + min;

    max > 1 ? answer.push(7 - max) : answer.push(6);
    min > 1 ? answer.push(7 - min) : answer.push(6);

    return answer;
}
function solution(lottos, win_nums) {
    var rank = [6, 6, 5, 4, 3, 2, 1];
    var answer = [];

    var min_count = 0;
    for(var i = 0; i < win_nums.length; i++) {
        if(lottos.includes(win_nums[i])) {
            min_count += 1;
        }
    }

    var zero_count = lottos.filter(element => 0 === element).length;
    var max_count = zero_count + min_count;

    answer.push(rank[max_count]);
    answer.push(rank[min_count]);

    return answer;
}
profile
🐣차근차근 무럭무럭🐣

0개의 댓글