2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
풀이 과정
- 시간 복잡도가 O(n^2)인 버블 정렬 이용
2023.11.23 - [C언어/알고리즘] - [알고리즘] ch 8. 정렬(1) - 버블 정렬, 삽입 정렬
[알고리즘] ch 8. 정렬(1) - 버블 정렬, 삽입 정렬
8.1 정렬 알고리즘의 개요 정렬(Sorting) - 정해진 기준에 따라 데이터를 순서대로, 그리고 체계적으로 정리하는 알고리즘 - 정렬의 목적은 '탐색' 8.2 버블 정렬 - 자료 구조를 순회하면서 이웃한 요
juju-study.tistory.com
정답
import java.util.Scanner;
public class Main {
//교환
static void swap (int[] a, int index1, int index2)
{
int t = a[index1];
a[index1] = a[index2];
a[index2] = t;
}
//버블 정렬
static void bubbleSort(int[] a, int n)
{
int k=0;
while(k<n-1)
{
int last = n-1; //마지막으로 요소를 교환한 위치
for(int j=n-1; j>k; j--)
{
if(a[j-1]>a[j]){
swap(a,j-1,j);
last=j;
}
}
k=last;
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int n[] = new int[num];
for(int i=0; i<num; i++)
{
n[i] = sc.nextInt();
}
bubbleSort(n,num);
for(int i=0; i<num; i++)
{
System.out.println(n[i]);
}
}
}
'Java > 백준' 카테고리의 다른 글
[JAVA] 백준 25305 커트라인 (0) | 2024.02.06 |
---|---|
[JAVA] 백준 2587 대표값2 (1) | 2024.02.06 |
[JAVA] 백준 1436 영화감독 숌 (1) | 2024.02.06 |
[JAVA] 백준 19523 수학은 비대면 강의입니다 (1) | 2024.02.05 |
[JAVA] 백준 2231 분해합 (0) | 2024.02.05 |