오랑우탄의 반란
프로그래머스 | 로또의 최고 순위와 최저 순위 (파이썬) 리스트 사용 본문
반응형
오늘도 오랑이는 문제를 풉니다.
로또의 최고 순위와 최저 순위
풀이 과정
간단한 문제인데요, 조건을 정리하면 아래와 같습니다.
- lottos와 win_nums 비교
- 일치 번호 개수 = 최저 순위 결정
- 일치 번호 개수 + 0인 개수 = 최고 순위 결정
우선 lottos 와 win_nums 를 비교해서 최고/최저 순위가 될 번호의 개수를 각각 세어봅니다.
count = 0
for i in lottos:
for j in win_nums:
if i==j:
count += 1 # 일치하는 번호 개수
count + lottos.count(0) # 일치하는 번호 개수 + 0의 개수
이제 순위만 결정하면 되는데요, 번호 개수가 인덱스가 되도록 리스트를 작성해줍니다.
0, 1 개를 맞췄을 때 동일하게 6위이기 때문에 6을 2개 넣어줍니다.
rank = [6,6,5,4,3,2,1]
answer = [rank[(count + lottos.count(0))], rank[count]]
최종 코드
def solution(lottos, win_nums):
count = 0
rank = [6,6,5,4,3,2,1]
for i in lottos:
for j in win_nums:
if i==j:
count += 1
answer = [rank[(count + lottos.count(0))], rank[count]]
return answer
나중에 생각났지만 i와 j를 하나하나 비교하는 대신 i가 win_nums에 있는지 확인하면 더 간편한 코드가 됩니다.
def solution(lottos, win_nums):
count = 0
rank = [6,6,5,4,3,2,1]
for i in lottos:
if i in win_nums:
count += 1
answer = [rank[(count + lottos.count(0))], rank[count]]
return answer
오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~
반응형
'PYTHON > 프로그래머스' 카테고리의 다른 글
프로그래머스 | 숫자 짝꿍 (파이썬) SET 교집합 (0) | 2024.08.08 |
---|---|
프로그래머스 | 옹알이(2) (파이썬) permutation, 정규표현식 fullmatch (0) | 2024.08.07 |
프로그래머스 | 기사단원의 무기 (파이썬) n의 약수 개수 구하기 (0) | 2024.08.06 |
프로그래머스 | 덧칠하기 (파이썬) (2) | 2024.08.06 |
프로그래머스 | 소수 만들기 (파이썬) combination, 에라토스테네스의 체 (0) | 2024.07.31 |