3. 확장 - K번째 큰 값 핵심 아이디어: 삽입정렬 첫번째 방법인 정렬의 경우 이 문제를 구현하는 것은 매우 쉽다. 원 코드에서는 반환값에서 두 번째를 의미하는 1을 인덱스로 했는데 그 대신 새로 받은 K-1번째 값을 반환하면 된다. 코드는 대략 이렇게 된다. def kth_largest_number(arr, K): unique_nums = set(arr) sorted_nums = sorted(unique_nums, reverse=True) return sorted_nums[K-1] 함수의 이름의 접두사를 second 가 아닌 K번째를 의미하는 kth 로 변경했다. 그리고 사용자가 원하는 순서를 뜻하는 K 인자를 받는다. 코드는 두 번째 큰 값을 찾던 원래 코드와 거의 일치하며, 반환할 때만 인덱스를 ..
Python
1. 중복 포함/제거, sorting 활용 배열을 내림차순 정렬하고, 두 번째 값을 출력한다. arr = [10,30,30,20] sorted(arr, reverse=True)[1] #30 만약 중복을 허용하지 않고 두 번째 큰 값을 출력하고 싶으면 set 함수를 이용한다. arr = [10,30,30,20] uniq = set(arr) sorted(uniq, reverse=True)[1] #20 set() 을 통해 정렬 전에 고유한 값만 남기는 작업을 추가하면 된다. 2. 중복 제거, for문 최대값과 두 번째 큰 값을 추적하는 변수를 두고, 배열의 각 값을 순회하며 두 변수를 갱신한다. first는 가장 큰 값, second는 두 번째로 큰 값이 들어갈 변수다. def findsecond(arr): ..
이는 str, list 등 다양하게 나타난다. input = [1, 2, 3, 4, 5] ... arr = [int(input()) for i in range(5)] 여기서 input()이라는 입력 함수를 사용 시, 위에 이미 선언된 리스트인 input을 인식하고 처리해서 에러가 발생한다. 따라서 함수명으로 자주 쓰이는 단어는 변수명으로 사용하지 않는 것이 좋다.