공부하고 기록하는, 경제학과 출신 개발자의 노트

프로그래밍/코딩테스트 문제풀이

[Python] Hackerrank. Big Sorting (Easy)

inspirit941 2020. 3. 10. 14:41
반응형

 

https://www.hackerrank.com/challenges/big-sorting/problem

 

Big Sorting | HackerRank

Sort an array of very long numeric strings.

www.hackerrank.com

난해한 문제는 아니었지만, Python sorting의 특징을 하나 알 수 있었던 문제. 해당 문제 forum을 들어가보면 더 자세히 알 수 있다.

 

Python에서 int -> str, str -> int 형변환은 연산량이 비싼 편이다. 특히 이 문제처럼 숫자값이 클 경우 연산량이 매우 비싸게 작용한다. 

따라서 일반적으로 생각하는 문제해결방법인 '문자열을 숫자로 변환 -> 대소비교 -> 정렬' 식의 연산은 time limit에 걸린다.

 

대안으로 key = lambda x: (len(x), x)를 사용할 수 있는데, int 형변환보다 훨씬 빠른 연산속도를 보여준다.

 

 

 

반응형