알고리즘/백준
백준 2750 수 정렬하기 자바
reumiii
2020. 1. 29. 21:00
시간 복잡도가 O(n²)인 정렬 알고리즘을 사용.
예를 들면 삽입 정렬, 거품 정렬 등이 있다.
삽입 정렬로 풀어보았다.
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int num[] = new int[n];
for (int i = 0; i < n; i++) {
num[i] = sc.nextInt(); // 숫자를 입력받음
for (int j = i; j > 0; j--) {// 이전 숫자들과 비교하여
if (num[j] < num[j - 1]) {// 바로 이전 숫자보다 작으면 순서 바꿈
int tmp = num[j];
num[j] = num[j - 1];
num[j - 1] = tmp;
} else {// 작지 않다면 이전 숫자들은 다 정리된 것이므로 다음 숫자로 넘어감
break;
}
}
}
for (int i = 0; i < n; i++) {
System.out.println(num[i]);
}
}
}
삽입 정렬에 대한 개념 확인~!
https://marobiana.tistory.com/85
[JAVA] Insertion Sort (삽입정렬)
1. Insertion Sort 개념 아래와 같은 순서로 카드가 놓여져 있다고 생각해보자. 4 5 3 2 (1) 4 5 3 2 2번째부터 기준이 되어 시작한다. (왼쪽과 비교해야 하므로 2번째부터 시작한다) 기준인 5와 그 왼쪽인 4를..
marobiana.tistory.com