본문 바로가기
알고리즘

[프로그래머스 - 가장 큰 수][파이썬] - 7일차

by Jyujae 2022. 6. 1.

https://programmers.co.kr/learn/challenges

--시간 초과 코드

-> permutations가 모든 경우의 수를 구하기 때문에, 시간 초과가 나버렸다


-- 해결 코드

key point: 3번줄의 3배 곱하기, sort

 

1. *3하는 이유(구글링)

2번줄에 str형으로 바꾸고 list에 append해둬서 lambda~ 이 식이 없이 그냥 sort해도 원하는 방식대로 처리 될 것이다.

[3,30,34,5,9]

-> [9,5,34,30,3] 

하지만 우리는 3이 30보다 앞으로 위치시켜야 한다 (0보다 큰 수가 더 높은 자리수를 차지하는게 더 큰 값이니까)

그 과정을 위해서 3배(문자열임을 인지)

2. sort

[999,555,343434,303030,333]으로 키운 상태에서 sort를 하면

[9,5,34,3,30] 이 된다.

절대 새로운 리스트에 3배 키운걸 담고, 바뀐 리스트를 index로 새로 만들고 이런 과정은 하지 말자...!

key=lamdba로 설정하고 푸는 과정을 더 연습해보자

lambda를 써야할 것 같긴한데 자신 없는 모습을 보였음

 

 

+ []안에 ''로 이루어진 문자열들이 있을 때 ','를 제거하고 싶을때

->''.join(리스트)