| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- dfs
- Combinations
- lambda
- 수학
- 재귀함수
- BFS
- heapq
- Re
- java
- 백준
- 동적 계획법
- 정렬
- python
- 정규식
- 다익스트라
- 자바
- Zip
- KAKAO BLIND RECRUITMENT
- 그리디
- divmod
- 파이썬
- DateTime
- 카카오
- 프로그래머스
- 위클리 챌린지
- backjoon
- Set
- 추석맞이 코딩챌린지
- 이분탐색
- programmers
Archives
- Today
- Total
상상쓰
[프로그래머스] 가장 큰 수 본문
https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
java 로 풀었을 때 comparator 를 이용해 풀었었는데 파이썬에도 같은 방법으로 풀었다.
from functools import cmp_to_key
def comparator(x, y):
return int(str(y) + str(x)) - int(str(x) + str(y))
def solution(numbers):
answer = ''
numbers = sorted(numbers, key = cmp_to_key(comparator))
answer = ''.join(map(str, numbers))
if answer[0] == '0':
answer = '0'
return answer
print(solution([6, 10, 2])) # 6210'Coding Test' 카테고리의 다른 글
| [백준] 회의실 배정 (0) | 2021.06.04 |
|---|---|
| [프로그래머스] 길 찾기 게임 (0) | 2021.06.04 |
| [프로그래머스] 자물쇠와 열쇠 (0) | 2021.06.02 |
| [프로그래머스] 괄호 회전하기 (0) | 2021.06.01 |
| [프로그래머스] 게임 맵 최단거리 (0) | 2021.06.01 |