Notice
Recent Posts
Recent Comments
Link
땃쥐네
[Programmers] [131128] [Python] 숫자 짝꿍 본문
문제
- 플랫폼 : 프로그래머스
- 번호 : 131128
- 제목 : 숫자 짝꿍
- 난이도 : Level 1
- 두 정수 X, Y가 주어졌을 때 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들(중복 허용)을 이용하여 만들 수 있는 가장 큰 정수 반환
- 문제 : 링크
필요 지식
파이썬의 경우 카운터를 잘 사용하면 정말 쉽게 풀 수 있는 문제다.
- 문자열 처리
- Python : Counter
풀이
from collections import Counter
def solution(x, y):
c = Counter(str(x)) & Counter(str(y))
return '-1' if not c else '0' if len(c) == 1 and '0' in c else ''.join(sorted(c.elements(), reverse=True))
- 문자열 x, y의 카운터에 대해 '&' 연산으로 공통된 요소들의 카운터를 얻는다.
- 만약 카운터가 비어있다면 공통된 요소가 없으므로 '-1'을 반환
- 카운터의 길이가 1인데, 요소가 '0'뿐이면 '0' 반환
- 그 외의 경우에는
.elements()
로 요소들을 얻어온 뒤, 내림차순으로 정렬하고, join으로 결합하여 반환한다.
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] [042889] [Python] 실패율 (0) | 2023.01.27 |
---|---|
[Programmers] [012926] [Python] 시저 암호 (0) | 2023.01.21 |
[Programmers] [077884] [Python] 약수의 개수와 덧셈 (0) | 2023.01.20 |
[Programmers] [120890] 가까운 수 (0) | 2023.01.18 |
[Programmers] [Java] [120866] 안전지대 (0) | 2023.01.17 |
Comments