프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설계
1000자리 이하
문자열 비교연산의 경우에 문자열 첫 번째 인덱스를 아스키숫자로 바꿔서 비교하고, 같으면 그다음 인덱스를 비교
숫자를 문자열로 변환하고 크기를 비교해준다.
'121'과 '12'를 놓고 봤을 때는 '12'가 먼저 와야 더 큰 수를 만들 수 있다. 1000자리 이하 이므로 세 자릿수를 임의로 만들어준다.
'121121121'과 '121212'중 '121212'가 더 큰 값이다.
'000'이 정답으로 나오는 경우 '0'만 반환하기 위해서 정수로 바꾸었다가 다시 반환 타입에 맞게 문자열로 변환해준다.
문제 풀이
def solution(numbers):
answer = ''
result=list(map(str,numbers))
result.sort(key=lambda x:x*3,reverse=True)
answer=answer.join(result)
return str(int(answer))
정리
문자열 비교연산의 경우에 문자열 첫 번째 인덱스를 아스키숫자로 바꿔서 비교하고, 같으면 그다음 인덱스를 비교한다.
'000'이 정답으로 나오는 경우 '0'만 반환하기 위해서 정수로 바꾸었다가 다시 반환 타입에 맞게 문자열로 변환
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / python] H-Index (0) | 2025.05.05 |
---|---|
[프로그래머스 / python] 베스트앨범 (0) | 2025.05.04 |
[프로그래머스 / python] 의상 (0) | 2025.05.01 |
[프로그래머스 / python] [PCCE 기출문제] 10번 / 공원 (0) | 2024.10.27 |
[프로그래머스 / swift] 달리기 경주 (0) | 2024.07.18 |