내가 구입한 로또 번호 n개를 알 수 없을 때, 내가 당첨될 수 있는 최고 순위와 최저 순위를 구하는 문제였다.
def solution(lottos, win_nums):
min = 0; max = 0
order = [6,6,5,4,3,2,1]
for i in win_nums:
if i in lottos:
min += 1
for j in lottos:
if j == 0:
max += 1
max += min
print(min, max)
answer = [order[min], order[max]]
return answer
여기서 주의해야할 포인트는 로또 번호 당첨 개수와 등수가 반비례하다는 것이다.
전부 케이스 문으로 넣기에는 너무 일차원 적이고 출제자의 의도가 아니라고 생각하여 배열을 사용하였다.
채점 결과 베스트 풀이와 거의 유사하여 아주 뿌듯했다😁
'알고리즘' 카테고리의 다른 글
[Programmers] 문자열 압축 - python (0) | 2022.07.01 |
---|---|
[Programmers] 숫자 문자열과 영단어 - python (0) | 2022.06.29 |
[Programmers] 신규 아이디 추천 - python (0) | 2022.06.28 |
[BOJ] 1003 피보나치 함수 - python (0) | 2022.04.29 |
[BOJ] 10844 쉬운 계단 수 - python (0) | 2022.04.27 |