문제
https://school.programmers.co.kr/learn/courses/30/lessons/42746
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 풀이
def solution(numbers):
numbers= list(map(str,numbers))
numbers.sort(key=lambda x : x*3,reverse=True)
return str(int(''.join(numbers)))
풀이:
numbers의 값들을 str 변경 이후 str 오름차순 정렬을 해준다.
['9', '5', '34', '30', '3'] 이 된다
이 과정에서 배열 값 안의 십의자리수 이상인 수들의 두번째자리수이상값들의 크기를 비교해 줘야한다.
이럴때 모든 값들을 같은 수 반복 3번을 해줘야한다. (str 일때 비교방법)
999 555 343434 303030 333
그럼 343 , 303 , 333 까지 비교가 되는데
이로 인해 333 이 303보다 더 큰수로 인식이 된다
몰랐던부분: str 비교, lambda사용, 같은 값 3번반복(이유는 numbers의 길이 1000이하이므로)
'💡 Codeing Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 2019 카카오 인턴 문제 : 실패율 (python) (0) | 2023.02.15 |
---|---|
[프로그래머스] 핸드폰 번호 가리기 (python) (0) | 2023.02.14 |
[프로그래머스] 시저암호 (python) (0) | 2023.02.14 |
[프로그래머스] h-Index (python) (0) | 2023.02.05 |
[프로그래머스] 타겟 넘버 (python), DFS (0) | 2023.01.29 |