문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/77484
작성 코드 링크 : https://github.com/Mirim-Study/Algorithm/pull/430/files
function solution(lottos, win_nums) {
var answer = [];
let match_len = 0, zero_len = 0;
match_len = lottos.filter(num => win_nums.includes(num)).length;
zero_len = lottos.filter(num => num === 0).length;
answer.push(match_len+zero_len > 1 ? 7-(match_len+zero_len) : 6);
answer.push(match_len > 1 ? 7-(match_len) : 6);
return answer;
}
처음엔 이렇게 작성했는데 아무리 봐도 보기가 불편해서 수정할 방법이 있나 생각해보다 그냥 채점 받고 3점을 받게 되었다. 다른 분들의 정답을 보며 가장 보기 쉬운 코드를 적용하여 수정해보았다.
function solution(lottos, win_nums) {
var answer = [];
let min = 0, max = 0;
min = lottos.filter(num => win_nums.includes(num)).length;
max = lottos.filter(num => num === 0).length + min;
answer.push(max > 1 ? 7-(max) : 6);
answer.push(min > 1 ? 7-(min) : 6);
return answer;
}
위 분 코드를 참고하였다!!
보기 불편했던 + 코드를 개수 구할 때 포함하도록 수정하였다. 이것만 해도 확실히 깔끔해보인다!