👨🏻‍💻알고리즘/프로그래머스

[프로그래머스] Lv1. 숫자 짝꿍

waveofmymind 2023. 2. 11. 15:02

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/131128

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

코드

from collections import Counter
def solution(X, Y):
    arr= list((Counter((int(i) for i in X)) & Counter((int(j) for j in Y))).elements())
    arr.sort(reverse=True)
    if len(arr) == 0:
        return "-1"
    if arr[0] == 0:
        return "0"
    return ''.join(map(str,arr))

풀이

  • 각각의 문자열 별 개수를 체크하기 위해 카운터 모듈을 사용했다.
  • 카운터 두개를 & 연산을 하면 교집합을 구할 수 있다.
  • counter.elements()는 해당 키 값을 밸류값의 개수만큼 나열한 요소를 리턴 받을 수 있다. 리