프로그래머스/Lv.1

숫자 짝궁 - Python, Counter, extend

아찌방 2024. 11. 10. 10:43

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/131128

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

풀이 - 나의 생각

Counter를 이렇게 쓸 수 있다니....

 

처음에는 딕셔너리에 일일이 샜는데

 

찾아보니 Counter가 있다는 것을 깨달았다.

 

덕분에 숫자를 하나씩 추가하지 않고

 

extend를 통해 한 번에 추가할 수 있었다.

 

nums가 9부터 시작하는 이유는

 

정렬을 위해서다.

 

코드

 

from collections import Counter

def solution(X, Y):
    cntX = Counter(X)
    cntY = Counter(Y)
    
    commonNums = []
    nums = "9876543210"
    
    for num in nums:
        cnt = min(cntX[num], cntY[num])
        commonNums.extend([num] * cnt)
        
    if not commonNums:
        return "-1"

    if set(commonNums) == {"0"}:
        return "0"
    
    return ''.join(commonNums)

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90