반응형
(파이썬으로 코딩테스트 연습하기) Programmers > 로또의 최고 순위와 최저 순위
https://programmers.co.kr/learn/courses/30/lessons/77484
Solution
def score(x): # 일치하는 번호 개수
return 6-(max(x,1))+1 # 일치하는 번호가 0개일땐 7등이 아니라 6등
def solution(lottos, win_nums):
i = 0 # 일치하는 번호 개수
for x in lottos :
if x in win_nums :
i+=1
return [score(i+lottos.count(0)), score(i)]
일치하는 번호의 개수와 0의 개수만 알면 된다.
문제에 나온 예시로 설명한다.
for문으로 일치하는 번호의 개수를 센다.
일치하는 번호의 개수를 입력으로 넣어주면 몇등인지 return하는 함수를 짠다.
일치하는 번호가 0개일 때 7등이 아니라 6등이므로 max(x,1)을 해준다.
list에서 0의 개수는 list.count(0)으로 셀 수 있다.
최고순위는 0까지 모두 일치하는 경우이므로, 일치하는 번호의 개수 + 0의 개수이고
최저순위는 0은 모두 틀린 경우리므로, 일치하는 번호의 개수일 때만 등수를 계산해주면 된다.
반응형
'코딩테스트 연습 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 - Python] 2020 KAKAO BLIND RECRUITMENT > 문자열 압축 (0) | 2022.03.17 |
---|---|
[Python - 프로그래머스] 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천 (0) | 2022.03.17 |
[Python - 프로그래머스] 2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 (0) | 2022.03.16 |
[프로그래머스 - Python] 전화번호 목록 (0) | 2022.03.11 |
[프로그래머스 - Python] 완주하지 못한 선수 (0) | 2022.03.11 |