버블 정렬은 시간 복잡도 O(n^2)를 갖는다.
논리 구조상 시간이 오래걸리지만
구현 하는데 있어서 쉽다는 장점을 갖는다
백준 2750 난이도 브론즈 문제
N개의 수가 주어졌을 때 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
슈도 코드.
N 정렬할 수 개수
A 정렬할 배열 선언
for(i: 0~N-1)
{
for(j: 0~N-1-i){
현재 A배열의 값보다 1칸 오른쪽 배열의 값이 더 작으면 두 수 바꾸기(swap)이용
}
}
A 배열 출력
구현 코드.
import java.util.Scanner;
public class P2750{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[]A = new int[N];
for(int i=0; i<N; i++){
A[i] = sc.nextInt();
}
for(int i=0; i<N-1; i++){
for(int j=0; j<N-1-i; j++){
if(A[j]>A[j+1]){
int swap = A[j];
A[j]=A[j+1];
A[j+1]=swap;
}
}
}
for(int i=0; i<N; i++){
System.out.println(A[i]);
}
}
}
'프로그래밍 공부' 카테고리의 다른 글
날씨 api 기상청 날씨누리 데이터 수집 python (0) | 2024.05.19 |
---|---|
코테 시간 복잡도 계산방법 (0) | 2023.09.08 |
[JAVA] Longest Common Prefix 문제 (0) | 2023.08.11 |
Greedy 알고리즘 [탐욕알고리즘] (0) | 2023.07.26 |
[JAVA] 에라토스테네스의 체 (leetcode 204번) (0) | 2023.07.25 |