[Algorithm Problem]宝くじの最高と最低ランキング


質問する
宝くじを購入したミンウは、当選番号の発表日を楽しみにしていた.しかし、敏宇の弟は宝くじに落書きをして、番号の一部が分からなくなった.当選番号が発表された後、敏宇は自分が購入した宝くじの当選の最高順位と最低順位を知りたいと思っています.
パラメータは敏宇が購入した宝くじ番号を含む宝くじ、当選番号の宝くじである.このとき、可能な最高順位と最低順位を配列に順番に入れて戻ります.
せいげんじょうけん
lottosは整数配列で、長さは6です.
lottosのすべての要素は45以下の整数です.
0は認識できない数字を表します.
0以外の数字はlottosで2つを超えない.
lottosの要素が整列していない可能性があります.
win numsは長さ6の整数配列である.
win numsのすべての要素は1または45未満の整数です.
win numsには同じ数字が複数含まれていません.
win numsの要素が整列していない可能性があります.
コード#コード#
function solution(lottos, win_nums) {
    let correctCount = lottos.filter(num => win_nums.includes(num)).length;
    let zeroCount = lottos.filter(num => num === 0).length;

    return [7 - correctCount - zeroCount === 7 ? 6 : 7 - correctCount - zeroCount
        , 7 - correctCount === 7 ? 6 : 7 - correctCount];
}
に答える
2つのアレイに一致する0個の数を求めると、
0が0の場合に7が出力されないように、例外処理条件を追加します.
出典:プログラマーコードテスト練習、https://programmers.co.kr/learn/challenges