코딩 테스트/프로그래머스

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

ornni 2024. 4. 9. 10:00
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

 

반응형