첫번째 코드
풀기에 앞서 하나의 함수로 푸는 것이 아니라, 결과와 관련된 함수를 생성한 후 함수 안에 해당 함수를 적용하는 방식으로 코드를 구성하고 싶었다.
그래서 rank와 관련된 함수를 하나 생성했다
이후 번호를 비교한 뒤 개수만큼 rank함수를 통해 순위를 answer에 저장하고,
0이 있는 만큼 개수를 더한 뒤 rank함수를 통해 순위를 answer에 저장했다.
그렇게 되면 내림차순으로 진행되기 때문에 마지막 sort를 통해 오름차순으로 바꾼 뒤 결과를 출력한다!
def rank(x):
if x == 6:
return 1
elif x == 5:
return 2
elif x == 4:
return 3
elif x == 3:
return 4
elif x == 2:
return 5
else:
return 6
def solution(lottos, win_nums):
count = 0
answer = []
for i in lottos:
for j in win_nums:
if i == j:
count += 1
answer.append(rank(count))
for i in lottos:
if i == 0:
count += 1
answer.append(rank(count))
answer.sort()
return answer
통과:)
링크
programmers/프로그래머스/1/77484. 로또의 최고 순위와 최저 순위 at main · ornni/programmers
repository for recording Programmers Algorithm problem solving - ornni/programmers
github.com
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
덧칠하기 (0) | 2024.04.10 |
---|---|
x만큼 간격이 있는 n개의 숫자 (0) | 2024.04.10 |
없는 숫자 더하기 (0) | 2024.04.09 |
평균 구하기 (2) | 2024.04.08 |
두 개 뽑아서 더하기 (3) | 2024.04.08 |