-
[JS] 로또의 최고 순위와 최저 순위이노베이션 캠프/3주차_알고리즘 2023. 6. 17. 22:05
문제
https://school.programmers.co.kr/learn/courses/30/lessons/77484
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
최종 제출
function solution(lottos, win_nums) { let successCnt = 0; let zeroCnt = 0; for (lotto of lottos) { if (lotto === 0){ zeroCnt++; } else if(win_nums.includes(lotto)){ successCnt++; } } if (successCnt === 0 && zeroCnt === 0) { return [6, 6]; } let result = []; // 최고 result[0] = 7 - (zeroCnt + successCnt); // 최저 result[1] = (successCnt >= 2) ? 7 - successCnt:6 return result; }
- 성공한 개수와 0의 개수를 담는 변수 선언
- successCnt: 성공한 개수
- zeroCnt: 0의 개수
- for of문 사용하여 배열의 각 요소에 접근
- 요소의 값이 0인 경우 zeroCnt 증가
- 당첨 로또 배열(win_nums)에 있는 숫자인 경우 successCnt 증가
- successCnt와 zeroCnt 모두 0인 경우 최악의 순위 return (&& 사용)
- 최고의 순위의 경우, 최하 순위인 7에서 성공한 개수(successCnt) + 0의 개수(zeroCnt) 값 빼서 저장
- 최저 순위의 경우 successCnt 변수 값으로 순위를 구함
- 2보다 크거나 같으면 최하 순위인 7에서 성공한 개수(successCnt) 빼서 저장
- 2보다 작은 경우 최하 순위인 6 저장
728x90'이노베이션 캠프 > 3주차_알고리즘' 카테고리의 다른 글
[JS] 문자열 내 마음대로 (0) 2023.06.19 [JS] 모의고사 (0) 2023.06.19 [JS] 두 개 뽑아서 더하기 (0) 2023.06.17 [JS] 같은 숫자는 싫어 (0) 2023.06.17 [JS] 최소직사각형 (1) 2023.06.17 - 성공한 개수와 0의 개수를 담는 변수 선언