728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42746#qna
(1) 오답 풀이 - permutations 사용
import itertools
def solution(numbers):
answer = ''
str_numbers = []
find_number = []
for i in range(len(numbers)):
str_numbers.append(str(numbers[i]))
nPr = itertools.permutations(str_numbers, len(numbers))
for i in list(nPr):
find_number.append(int("".join(i)))
answer = str(max(find_number))
return answer
permutations 쓰면 쉬울거같아서 써봤는데..
아주 시원하게 시간 초과 나서, 다른 방법을 알아보기로 했다.. ^^
(2) 정답 코드 - 정렬
def solution(numbers):
numbers = list(map(str, numbers))
numbers.sort(key=lambda x: x*3, reverse=True)
return str(int(''.join(numbers)))
심지어 코드 줄도 더 짧다! (~ ' 0')~
728x90
'Study > Coding Test' 카테고리의 다른 글
[백준] 21608 - 상어 초등학교 Python (0) | 2023.08.11 |
---|---|
[백준] 1967 - 트리의 지름 Python (0) | 2023.08.09 |
[프로그래머스] 등굣길 Python (0) | 2023.08.09 |
[프로그래머스] C++ 문자열 다루기 관련 문제들 (0) | 2023.08.02 |
[프로그래머스] 배달 Python, C++ (0) | 2023.08.02 |