정렬 4

[JAVA] 거품 정렬 (Bubble Sort)

거품정렬은 두 개의 인접한 원소를 비교하여 정렬하는 방식이다. 정렬 방법 1. 앞에서부터 현재 원소와 바로 다음의 원소를 비교한다. 2. 현재 원소가 다음 원소보다 크면 원소를 교환한다. 3. 다음 원소로 이동하여 해당 원소와 그 다음원소를 비교한다. public class BubbleSort { public static void bubbleSort(int[] arr) { for (int i = 0; i arr[j+1]) { swap(arr, j, j+1); } } } } public static void swap(int[] arr, int src, int ta..

Language/Java 2022.12.09

[프로그래머스] K번째 수

문제 url: https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(array, commands): answer = [] for com in commands: arr = array[com[0]-1:com[1]] arr.sort() answer.append(arr[com[2]-1]) return answer def solution(array, commands): return list(map(lamb..

Algorithm/Problems 2022.08.21

정렬 알고리즘 [선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬]

1. 선택 정렬 (selection sort) 첫 번째 값을 두 번째 값부터 마지막 값까지 차례대로 비교해 가장 작은 값을 찾아 첫 번째 값과 자리 변경하고, 두 번째 값을 세 번째 값부터 마지막 값까지 차례대로 비교해 가장 작은 값을 찾아 두 번째 값과 자리 변경.. 이 과정을 반복하며 정렬을 수행한다. 시간복잡도 O(N^2) array = [7,5,9,0,3,1,6,2,4,8] for i in range(len(array)): min_index = i # 가장 작은 원소의 인덱스 for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index = j # 스와프 array[i], array[min_index] = array[min_i..

Algorithm/algorithm 2022.08.16