[알고리즘][KOTLIN] 선택 정렬
정의 선택 정렬(選擇整列, selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 주어진 리스트 중에 최소값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 코드 fun main(args: Array) { // INPUT : [42, 32, 24, 60, 15] // OUTPUT : [15, 24, 32, 42, 60] val result = selectedSort(intArrayOf(42, 32, 24, 60, 15)) result.forEach { r -> print("$r ") } } private fun selectedSort(arr: IntArray): IntArray { /..
[알고리즘][KOTLIN] 구간 합
구간 합 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘 0번째부터 i 번째까지의 합을 구하는 공식 - S[i] = A[0] + A[1] + A[2] + … + A[i - 1] + A[i - 2] - 배열 A [15, 13, 10, 7, 3, 12] - 합 배열 S [15, 28, 38, 45, 48, 60] S[i] = S[i - 1] + A[i] i번째부터 j번째까지의 합을 구하는 공식(구간 합) S[j] - S[i - 1] 배열이 변경될 경우 -> 세그먼트 트리를 사용한다. 문제 주어진 배열에서 k 개수 만큼 연속된 원소를 추출하여 새로운 배열을 만들었을 때 만들어진 새로운 배열 중 최대값을 구하여라 입력 배열 : [10, -4, 3, 1, 5, 6, -35, 12..