728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 일치하는 번호의 개수와 0의 개수를 각각 구한 뒤, 0이 모두 당첨 번호일 때 최고 순위가 되고 0이 모두 당첨 번호가 아닐 때 최저 순위가 되는 것을 활용하여 해결한다.
- 0의 개수를 저장할 변수를 생성하고 초기화한다. zero = 0
- 0을 제외하고 일치하는 숫자의 개수를 저장할 변수를 생성하고 초기화한다. count = 0
- 구매한 로또의 번호를 하나씩 추출하며 for i in lottos
- 만약 추출한 번호가 0이면 0의 개수를 1 증가시킨다. if (i == 0): zero += 1
- 만약 추출한 번호가 당첨 번호에 있으면 일치하는 숫자의 개수를 1 증가시킨다. if (i in win_nums): count += 1
- 최고 순위는 0이 모두 당첨 번호일 경우이므로 총 일치하는 번호의 개수를 7에서 빼준 값이 최고 순위인데, 만약 일치하는 번호가 0개이면 계산 결과 7이므로 6위를 넘어간다.
- 하여 계산 결과와 6 중 더 작은 값을 순위로 추가한다. answer.append(min(7 - (count + zero), 6))
- 최저 순위는 0이 모두 당첨 번호가 아닐 경우이므로 그냥 일치하는 번호의 개수를 7에서 빼준 값인데, 위 코드와 마찬가지로 계산 결과가 7이 나올 수 있기 때문에 6과 비교하여 더 작은 값을 순위로 추가한다. answer.append(min(7 - count, 6))
반응형
3. 소스코드
def solution(lottos, win_nums):
answer = []
zero = 0
count = 0
for i in lottos:
if (i == 0):
zero += 1
if (i in win_nums):
count += 1
answer.append(min(7 - (count + zero), 6))
answer.append(min(7 - count, 6))
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 게임 맵 최단거리 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.20 |
---|---|
[프로그래머스] 스킬트리 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.19 |
[프로그래머스] 주식가격 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.18 |
[프로그래머스] 땅따먹기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.17 |
[프로그래머스] 단어 변환 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.15 |
[프로그래머스] 주차 요금 계산 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.14 |
[프로그래머스] 오픈채팅방 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.13 |
[프로그래머스] 더 맵게 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.12 |