코딩문제풀이/파이썬
[프로그래머스] 로또의 최고 순위와 최저 순위 (파이썬)
오늘밤공부
2023. 2. 23. 16:40
반응형
🗓️ 문제 설명
- 구매한 로또 번호를 담은 배열 lottos와 당첨 번호를 담은 배열 win_nums가 주어집니다.
- 주어진 lottos 중에서 가려진 숫자는 0으로 표기됩니다.
- 가려진 숫자로 만들 수 있는 로또의 최고 순위와 최저 순위를 리스트로 담아 반환해주세요.
- 1위는 6개 번호가 모두 일치하고 순위가 줄어들면 일치하는 번호가 한개씩 줄어듭니다.
- 제한 사항
- lottos는 길이 6인 정수 배열입니다.
- lottos의 모든 원소는 0 이상 45 이하인 정수입니다.
- lottos에는 0을 제외한 다른 숫자들은 2개 이상 담겨있지 않습니다.
- lottos의 원소들은 정렬되어 있지 않을수도 있습니다.
- win_nums는 길이 6인 정수 배열입니다.
- win_nums의 모든 원소는 1 이상 45 이하인 정수입니다.
- win_nums에는 같은 숫자가 2개 이상 담겨있지 않고, 정렬되어 있지 않을수도 있습니다.
- 입출력 예시
lottos | win_nums | result |
[44, 1, 0, 0,31 ,25] | [31, 10, 45, 1, 6, 19] | [3, 5] |
[0, 0, 0, 0, 0, 0] | [38, 19, 20, 40, 15, 25] | [1, 6] |
[45, 4, 35, 20, 3, 9] | [20, 9, 3, 45, 4, 35] | [1, 1] |
💻 코드
최종 코드
- 수정사항 :
>> rank를 딕셔너리 자료형으로 변환하여 당첨번호의 갯수만큼 순위를 지정
>> lottos에 있는 번호 중에 당첨번호가 있으면 correct에 1을 더해주도록 변경
코드 풀이
다른 사람 풀이
더보기


풀이 1번

- 위 최종 코드 부분에서 if문 2개를 제외를 시킨 코드
풀이 2번

- 위 최종 코드 부분의 count 대신 lottos와 win_nums의 합집합을 사용
⚙️ 시행착오
1차 시도
더보기


- 테스트 문제에서 실패
- lottos에 있는 숫자 중에 당첨번호가 없는 경우에 최저 순위가 7이 나오는 문제 발생
반응형