public class SelectionSort{
public static void main(String[] args) {
int[] arr = {3, 5, 4, 6, 2, 1};
for (int i=0; i<arr.length; i++) {
int minIdx = i;
for (int j=i+1; j<arr.length;j++) {
if (arr[minIdx] > arr[j])
minIdx = j;
}
int temp = arr[i];
arr[i] = arr[minIdx];
arr[minIdx] = temp;
}
}
}
public class InsertionSort{
public static void main(String[] args) {
int[] arr = {3, 5, 4, 6, 2, 1};
for (int i=1; i<arr.length; i++) {
for (int j=i; j>0; j--) {
if (arr[j] < arr[j-1]) {
int temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
} else
break;
}
}
}
}
public class QuickSort{
public static void main(String[] args) {
int[] arr = {3, 5, 4, 6, 2, 1};
quicksort(arr, 0, arr.length-1);
}
public static void quicksort(int[] arr, int start, int end) {
if (start >= end)
return;
int pivot = start;
int left = start+1;
int right = end;
while (left <= right) {
while (left <= end && arr[left] <= arr[pivot]) {
left += 1;
}
while (right > start && arr[right] >= arr[pivot]) {
right -= 1;
}
if (left > right) {
int temp = arr[pivot];
arr[pivot] = arr[right];
arr[right] = temp;
} else {
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
quicksort(arr, start, right-1);
quicksort(arr, right+1, end);
}
}
}
- 희동이는 두 개의 배열 A와 B를 가지고 있다. 두 배열은 N개의 원소로 구성되어 있으며, 배열의 원소는 모두 자연수이다.
- 희동이는 최대 k 번의 바꿔치기 연산을 수행할 수 있는데,
바꿔치기 연산이란 배열 A에 있는 원소 하나와 배열 B에 있는 원소 하나를 골라서 두 원소를 서로 바꾸는 것을 말한다.- 희동이의 최종 목표는 배열 A의 모든 원소의 합이 최대가 되도록 하는 것
- N, K 그리고 배열 A와 B의 정보가 주어졌을 때, 최대 k 번의 바꿔치기 연산을 수행하여 만들 수 있는
배열 A의 모든 원소의 합의 최댓값을 출력하는 프로그램을 작성하시오.
[입력]
5 3
1 2 5 4 3
5 5 6 6 5
[출력]
26
import java.util.Arrays;
public class Sort{
public static void main(String[] args) {
int[] arr = {7, 5 ,9, 3, 2, 1};
Arrays.sort(arr);
}
}
import java.util.Arrays;
public class Sort{
public static void main(String[] args) {
Integer[] arr = {7, 5 ,9, 3, 2, 1};
Arrays.sort(arr,Collections.reverseOrder());
}
}
Collections.sort(arrayList);
Collections.reverse(arrayList);
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});
List<String> sortedList = new ArrayList<>(importand_document_entities);
Comparator<String> c = new Comparator<String>() {
public int compare(String s1, String s2) {
return Integer.compare(s2.length(), s1.length());
}
};
Collections.sort(sortedList, c);
자료 출처 :
이것이 취업을 위한 코딩테스트다, 나동빈
https://gmlwjd9405.github.io