Algorithm/Sort 2

백준 1517: 버블 소트 [플래티넘 Ⅴ / Java]

https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000의 범위에 들어있다. www.acmicpc.net 알고리즘 : 병합 정렬 풀이 날짜 : 2023.08.16. 버블 소트의 특징은 다음과 같다. 1) (N - 1) + (N - 2) + ... + 1 = O(N²) 의 시간 복잡도 2) 한 번의 iteration 후, 남은 값 중 제일 큰 값이 제일 뒤로 정렬 이 문제에서 N 의 최대 크기가 500,000 이므로, 버블 정렬의 흐름에 따라 swap 횟수를 직..

Algorithm/Sort 2023.08.16

백준 2751: 수 정렬하기 2 [실버 Ⅴ / Java]

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 알고리즘 : 병합 정렬 (Merge Sort) or 구현 풀이 날짜 : 2023.08.16. 배열 크기 N이 백 만까지고 시간 제한이 2초 이므로 O(NlogN) = 1,000,000 * 20 까지 가능하다. Java 라이브러리 Arrays.sort( ) 를 쓰면, 음수를 처리를 못 한다. 가능한 방법으로 그냥 정렬과 병합 정렬이 있는데 그냥 정렬은, 배열 인덱스를 이..

Algorithm/Sort 2023.08.15