문제 링크: 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()는 해당 키 값을 밸류값의 개수만큼 나열한 요소를 리턴 받을 수 있다. 리
'👨🏻💻알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv1. 옹알이(2) (0) | 2023.02.12 |
---|---|
[프로그래머스] Lv1. 기사단원의 무기 (0) | 2023.02.11 |
[프로그래머스] Lv2. 수식 최대화 (0) | 2023.02.07 |
[프로그래머스] Lv2. 괄호 변환 (0) | 2023.02.06 |
[프로그래머스] Lv2. 메뉴 리뉴얼 (0) | 2023.02.06 |