Solution :
- 내 풀이
def solution(numbers):
numbers.sort(key=lambda x:str(x)*6,reverse=True)
# print(numbers)
answer = ''
for i in numbers:
i=str(i)
answer+=i
answer=int(answer)
return str(answer)
- 모범 답안
def solution(numbers):
numbers.sort(key=lambda x:str(x)*6,reverse=True)
str_numbers=[str(i) for i in numbers]
answer=''.join(str_numbers)
answer=int(answer)
return str(answer)
Skills :
- 숫자를 문자열로 변환하면 문자 각각을 사전 순으로 비교함( ‘10’ -> ‘2’)
- str(0)을 join하면 0000으로 나오기 때문에 int로 변환 후 str로 해야함.
- “구분자’.join(iterable) : iterable한 객체를 구분자로 연결함.
- 순열로 하면 시간복잡도 문제 발생
(순열 N=10 이하의 개수, 조합 N=20 이하의 수 일때 문제 없이 가능함. )
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] LV2 소수 찾기 | 파이썬 (0) | 2025.05.12 |
---|---|
[프로그래머스] LV2 H-Index | 파이썬 (0) | 2025.05.12 |
[프로그래머스] LV2 더 맵게 | 파이썬 (0) | 2025.05.07 |
[프로그래머스] LV1 데이터분석 | 파이썬 (0) | 2025.05.07 |
[프로그래머스] LV2 주식가격 | 파이썬 (0) | 2025.05.07 |