프로그래머스/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