sort
삽입 정렬(insertion sort)
📔 삽입 정렬(insertion sort) 이란 숫자를 적절한 위치에 삽입하는 방법 "필요할 경우에만" 위치를 바꾼다. 2개의 반복문을 중첩해서 구현하기 때문에 시간복잡도는 O(n^2) 한 세트가 끝날 때마다 앞의 숫자들은 "정렬"된 상태이다. 📔 삽입 정렬(insertion sort) 예제 위의 예제는 오름차순일 경우의 예제이다. 5개의 원소중 처음과 그 다음을 비교한다. 그 둘을 정렬한다. 1세트가 끝나면 앞의 숫자들(노란색)은 정렬된 상태이다. 다음 세트는 두번째 숫자부터 앞의 숫자와 비교한다. 📔 삽입 정렬(insertion sort) 구현 numbers = [5, 3, 8, 1, 2] print(f'정렬 전: {numbers}') print() for i in range(len(numbers)-..
선택 정렬(selection sort)
📔 선택 정렬(selection sort) 이란 오름차순의 경우 가장 작은 원소를 맨 앞으로 보낸다. 2개의 반복문을 중첩해서 구현하기 때문에 시간복잡도는 O(n^2) 한 세트가 끝날 때마다 가장 작은 수가 맨 앞에 온다. 📔 선택 정렬(selection sort) 예제 위의 예제는 오름차순일 경우의 예제이다. 5개의 원소중 가장 작은 숫자를 맨 앞의 숫자와 바꾼다. 1세트가 끝나면 가장 작은 수가 맨 앞으로 온다. 다음 세트부터는 맨 앞의 숫자를 빼고 비교를 해준다. (이미 가장 작은 수이기 때문) 📔 선택 정렬(selection sort) 구현 numbers = [5, 3, 8, 1, 2] print(f'정렬 전: {numbers}') print() for i in range(len(numbers))..
버블 정렬(bubble sort)
📔 버블 정렬(bubble sort) 이란 서로 인접한 두 원소의 대소를 비교하여 정렬하는 알고리즘 2개의 반복문을 중첩해서 구현하기 때문에 시간복잡도는 O(n^2) 오름차순의 경우 1세트(바깥쪽 반복문)이 끝나면 가장 큰 수가 맨 뒤에 오게 된다. 내림차순의 경우 반대 📔 버블 정렬(bubble sort) 예제 위의 예제는 오름차순일 경우의 예제이다. 앞뒤의 숫자를 비교해서 앞의 숫자가 크면 뒤의 숫자랑 바꾼다. 1세트가 끝나면 가장 큰 수가 맨 뒤로 온다. 다음 세트부터는 맨 뒤의 숫자를 빼고 비교를 해준다. (이미 가장 큰 수이기 때문) 📔 버블 정렬(bubble sort) 구현 numbers = [5, 3, 8, 1, 2] print(f'정렬 전: {numbers}') print() for i i..
[python] SWEA - 7701. 염라대왕의 이름 정렬
문제 해결 1. D4 - 정렬 2. sorted를 사용하면 쉽게 해결할 수있다 3. 먼저 이름의 길이순으로 정렬하고 4. 두번째로 이름의 길이가 같을 때 이름의 알파벳 순서대로 정렬한다. ✌ sorted() 함수에 대해서 알아보자. sorted 함수는 배열을 정렬하는 기능을 가지고 있다. 이 함수를 기본값으로 쓰게 되면 정렬된 배열을 반환한다. a = [6, 3, 4] b = sorted(a) # 첫번째 인자로 정렬할 리스트를 넣어준다. print(b) # [3, 4, 6] sorted의 두번째 인자로는 정렬하는 방법을 설정할 수 있다. 기본값으로는 우리가 흔히 알고 있는 1,2,3 a,b,c 오름차순 정렬이다. a = [(1,5), (2, 4), (2, 3)] print(a) # [(1, 5), (2,..
[JavaScript] 프로그래머스 - K번째수
문제 해결 1. 각 커맨드의 0,1 번째 숫자는 배열을 자르고, 2 번째 숫자는 값을 인덱스로 찾는다. 2. slice를 이용해 배열을 자른다. 3. sort()를 이용해 배열을 정렬한다. 4. 3번의 배열에서 숫자를 찾는다. 🌦 forEach, sort 에 대해서 학습해보자. 🟤 forEach arr4 = [2,5,3] arr4.forEach((n) => { console.log(n) }) // 2 // 5 // 3 forEach 안에서 함수를 정의하는 방법은 취향에 따라 알아서... 🟣 sort() arr4 = [12,2,1] arr4.sort() console.log(arr4) // 고장난다 | [1,12,2] arr4.sort((a,b) => { return a-b }) console.log(ar..