본문 바로가기
프로그래머스/Lv.1

숫자 짝궁 - Python, Counter, extend

by 아찌방 2024. 11. 10.

 

 

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

'프로그래머스 > Lv.1' 카테고리의 다른 글

공원 산책 - Python, 구현  (0) 2024.11.14
체육복 - Python, set  (0) 2024.11.12
K번째 수 - Python, heap  (1) 2024.11.08
콜라츠 추측 - Python, DFS  (0) 2024.11.08
햄버거 만들기 - Python  (1) 2024.11.07