Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- restControllerAdvice
- 네트워크
- 국제화
- AWS
- 벨먼-포드
- docker
- CI/CD
- 커스텀예외
- 메시지
- 데이터베이스
- 스프링
- 백준
- yaml-resource-bundle
- 트랜잭션
- 토이프로젝트
- java
- JIRA
- 스프링부트
- http 완벽가이드
- Spring
- 도커
- 프로그래머스
- Effective Java
- githubactions
- kotlinglogging
- 파이썬
- 이펙티브 자바
- HandlerExceptionResolver
- http
- 자바
Archives
- Today
- Total
땃쥐네
[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