본문 바로가기
코딩 테스트/프로그래머스

로또의 최고 순위와 최저 순위

by ornni 2024. 4. 9.
728x90
반응형

첫번째 코드

 

풀기에 앞서 하나의 함수로 푸는 것이 아니라, 결과와 관련된 함수를 생성한 후 함수 안에 해당 함수를 적용하는 방식으로 코드를 구성하고 싶었다.

그래서 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

 

통과:)


링크

https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/77484.%E2%80%85%EB%A1%9C%EB%98%90%EC%9D%98%E2%80%85%EC%B5%9C%EA%B3%A0%E2%80%85%EC%88%9C%EC%9C%84%EC%99%80%E2%80%85%EC%B5%9C%EC%A0%80%E2%80%85%EC%88%9C%EC%9C%84

 

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