프로그래머스 Lv.1 로또의 최고 순위와 최저 순위
문제
제한사항
입출력 예
나의 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function solution(lottos, win_nums) { let count = 0; let count_zero = 0; let result = []; for(let i = 0; i < lottos.length; i++){ if(lottos[i] === 0){ count_zero++; } for(let j = 0; j < win_nums.length; j++){ if(lottos[i] === win_nums[j]){ count++; } } } let lottos_rank = [6, 6, 5, 4, 3, 2, 1] result[0] = lottos_rank[count+count_zero]; result[1] = lottos_rank[count]; return result; } | cs |
count
,count_zero
는 각각 몇 개의 로또숫자가 맞았는지, 알아볼 수 없는 숫자인 ' 0 '이 몇 개인지를 세어주는 변수이다.이중
for
문을 사용하여lottos
와win_nums
의 값을 비교하여 일치 한다면count
값을 증가시킨다.
lottos
에서 ' 0 '을 만난다면count_zero
값을 증가시킨다.
lottos_rank
는 문제에 제시된 로또 순위를 정하는 방식으로, 0~1개는 6등, 2개는 5등 ...... 6개는 1등의 순서이다.빈 배열
result
0번째에는count
+count_zero
로 보이지 않는 숫자가 전부 당첨 번호와 일치 했을때의 결과를 할당해준다.반대로
result
1번째에는count
로 보이지 않는 숫자가 전부 당첨 번호와 일치하지 않을때의 결과를 할당해준다.따라서
return
된 값은result[최고순위, 최저순위]
가 된다.