[Python, Algorithm] 두 수의 합
출처: 파이썬 알고리즘 인터뷰 info > enumerate() > 인자의 index와 값을 튜플 형태로 전달 for i, n in enumerate(li): print(i, n) for tu in enumerate(li): print(tu) print: 1 a 2 b 3 r 4 1 5 d (0, 3) (1, 'a') (2, 'b') (3, 'r') (4, 1) (5, 'd') 방법 1) brute-force 방법 모든 조합 조회 ( O(n^2) ) def two_sum_bruteForce( nums : [int], target : int) -> [int]: for i in range(len(nums)): for j in range(i + 1, len(nums)): if nums[i] + nums[j] ..
[Python, Algorithm] sorted() sort
출처: 파이썬 알고리즘 인터뷰 Python에서는 기본적으로 Timsort를 사용한다. Timsort는'실제 데이터는 대부분 이미 정렬되어 있을 것이다'라는 가정하고 실제 데이터에서 고성능을 낼 수 있도록 설계된 알고리즘이다. sorted() 사용 sorted() 함수는 입력받는 String or List를 List로 반환한다. str01 = 'aieosdkdslerb' print(sorted(str01)) print: ['a', 'b', 'd', 'd', 'e', 'e', 'i', 'k', 'l', 'o', 'r', 's', 's'] key 지정 sorted() 함수는 정렬을 위한 key 옵션이 있다. ex1) len 지정 key로 len을 지정하면 길이가 짧은 순으로 정렬된다. list01 = ['aa..