본문 바로가기

sorting3

[LeetCode 풀이/python] 179. Largest Number (medium) 문제 설명: 0 이상의 정수로 이루어진 배열 nums 가 주어졌을 때, 해당 배열을 구성하는 숫자들을 이용해서 만들 수 있는 가장 큰 숫자가 되도록 숫자들을 재구성하시오. 참고: 결과 값이 매우 클 수 있으므로, 정수가 아닌 문자열 형태로 리턴할 것. (Given a list of non-negative integers nums, arrange them such that they form the largest number. Note: The result may be very large, so you need to return a string instead of an integer.) 예시 1) 입력: nums = [10,2] --> 출력: "210" 예시 2) 입력: nums = [3,30,34,5,9].. 2021. 4. 2.
[LeetCode 풀이/python] 31. Next Permutation (medium) 문제 설명: 주어진 숫자 배열 nums 를 사전 편찬 기준 상 바로 다음에 올 숫자가 되도록 재배열하는 함수 next permutation 을 구현하시오. 만약 그러한 재배열이 불가능 하다면, 가장 낮은 순서로 (i.e. 오름차순) 재배열해야 하며, 이 때 재배열은 O(1) 의 추가 메모리만을 사용하여 제자리(in-place) 에서 이루어져야 함. (Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such an arrangement is not possible, it must rearrange it as the lowest possible .. 2021. 2. 6.
[MIT 6.006 정리] Lec 03. (이진 탐색,) 삽입 정렬, 병합 정렬 * 본 포스팅은 기본적으로 edwith 플랫폼을 통해 제공되고 있는 MIT 6.006 Introduction to Algorithms (Fall 2011) 강의 내용을 바탕으로 정리한 것입니당 :D ------- * ------- * ------- * ------- * Why sorting? 자료의 효율적인 관리를 위해 (예: 전화번호부. 향후 검색에 용이) 일단 자료가 정렬되고 나면 훨씬 해결하기 쉬워지는 문제들이 있음 (예: 중간값(median) 찾기) 정렬이 데이터 압축 등 다양한 프로그램의 서브-루틴(sub routine) 으로 사용되기도 함 (예: 컴퓨터 그래픽스 - 장면 렌더링) * 정렬 후 훨씬 쉬워지는 문제 예시: 이진 탐색 (Binary Search) 문제를 더 작은 문제로 쪼개 재귀적으.. 2021. 1. 31.