코딩테스트/프로그래머스
[프로그래머스] LV2 가장큰수 | 파이썬
애플파ol
2025. 5. 12. 10:56
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 이하의 수 일때 문제 없이 가능함. )