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 | 31 |
Tags
- 프로그래머스
- 네이버AI부스트캠프
- l2penalty
- 자료구조끝판왕문제
- objectdetection
- inference
- 중복순열
- noiserobustness
- labelsmoothing
- 힙
- labelsmoothingloss
- clibration
- autograd
- mmdetectionv3
- f1loss
- Optimizer
- BatchNormalization
- layernormalization
- 우선순위큐
- Focal Loss
- 네이버 ai 부스트캠프
- fasterRCNN
- pytorch
- 밑바닥부터 시작하는 딥러닝
- focalloss
- ComputerVision
- 정렬
- ImageClassification
- DataAugmentation
- cmp_to_key
Archives
- Today
- Total
HealthyAI
Programmers) level2. 가장 큰수 본문
반응형
처음에는 itertools의 permutations 함수를 사용해서 풀었는데 런타임 초과 문제로 다른 방법을 찾아야 했다.
from itertools import permutations
def solution(numbers):
answer = ''
stack = []
numbers = [str(i) for i in numbers]
for p in permutations(numbers, len(numbers)):
stack.append(int(''.join(p)))
return str(max(stack))
이 과정에서 functools 모듈의 cmp_to_key 함수를 알게 되었다. 두 문자의 결합을 비교하여 1,0 반환 시 위치를 그대로 하고 -1 반환 시 위치를 바꿔준다.
from functools import cmp_to_key
def solution(numbers):
answer = ''
numbers = [str(i) for i in numbers]
numbers = sorted(numbers, key = cmp_to_key(comparator), reverse = True)
return str(int(answer.join(numbers)))
def comparator(a, b):
t1 = a + b
t2 = b + a
return int(t1 > t2) - int(t1 < t2)
#t1이 크면 1을, t2가 크면 -1, 같으면 0을 반환한다.
반응형
'Coding test > 프로그래머스' 카테고리의 다른 글
Programmers) level2. (2022 KAKO BLIND R) 주차요금 정산 (0) | 2023.01.19 |
---|---|
Programmers) level2. H-INDEX (0) | 2023.01.19 |
Programmers) level3. 이중우선순위 큐 (0) | 2023.01.19 |
Programmers) level3. 베스트앨범 (0) | 2023.01.19 |
Programmers) level2. 위장 (0) | 2023.01.19 |