반응형
https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3
풀이
numbers 원소는 int형이어서 str 로 바꾸고
앞글자부터 큰 값이 맨 앞으로 가게 정렬한다
그리고 순서대로 answer에 이어붙이고
0000같은 케이스때문에 int로변환했다가 다시 str로 바꿔서 return 한다.
* answer=''.join(numbers) 보다는 for += 이 조금 더 빠르다
* 테스트케이스 3번 결과가 이상하다
6이들어가는 원소는 아래 3개인데
565 566 56
566 565 다음 6555555554954544
65가 나올 수 없다
입력 값 | [555, 565, 566, 55, 56, 5, 54, 544, 549] |
기댓값 〉 | "5665655655555554954544" |
실행 결과 〉 | 실행한 결괏값 "5665656555555554954544"이(가) 기댓값 "5665655655555554954544"와(과) 다릅니다. |
def solution(numbers):
answer = ''
numbers = list(map(str,numbers))
numbers.sort(key=lambda x:x*4, reverse=True)
for n in numbers:
answer += n
answer=str(int(answer))
return answer
728x90
반응형
'개발 > Algorithm 문제 풀이' 카테고리의 다른 글
[프로그래머스] lv.1 없는 숫자 더하기 (0) | 2022.05.09 |
---|---|
[프로그래머스] lv.1 숫자 문자열과 영단어 (0) | 2022.05.09 |
[프로그래머스] lv.2 튜플 (0) | 2022.05.01 |
[프로그래머스] lv.2 방문 길이 (0) | 2022.05.01 |
[Python] 백준 - 5670 Trie (0) | 2020.09.11 |