✔ 문제 015 수 정렬하기 1
⬜ 핵심 아이디어
- 버블 정렬
- 두 인접한 데이터의 크기를 비교해 정렬
- 시간복잡도는 O(n^2)으로 다른 정렬 알고리즘보다 속도가 느린편
슈도코드 작성하기
N(정렬할 수 개수)
A(정렬할 배열 선언)
for(i : 0 ~ N - 1)
{
for(j : 0 ~ N - 1 - i)
{
현재 A 배열의 값보다 1칸 오른쪽 배열의 값이 더 작으면 두 수 바꾸기
}
}
A 배열 출력
JAVA
import java.util.Scanner;
public class Main {
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 tmp = A[j];
A[j] = A[j+1];
A[j+1] = tmp;
}
}
}
for(int i = 0; i<N; i++){
System.out.println(A[i]);
}
}
}
PYTHON
N = int(input())
li = []
for _ in range(N):
li.append(int(input())) # 각 숫자를 입력받아 리스트에 추가
for i in range(0,N):
for j in range(0,N-1-i):
if li[j] > li[j+1]:
li[j],li[j+1] = li[j+1],li[j]
for i in li:
print(i)
'자료구조&알고리즘 > 알고리즘_코딩테스트' 카테고리의 다른 글
[알고리즘_코딩 테스트_JAVA] 선택 정렬 (JAVA, PYTHON) (1) | 2024.01.04 |
---|---|
[알고리즘_코딩 테스트_JAVA] 버블 소트 프로그램 1 (JAVA, PYTHON) (0) | 2024.01.01 |
[알고리즘_코딩 테스트_JAVA] 절댓값 힙 구현하기 (JAVA, PYTHON) (1) | 2023.12.26 |
[알고리즘_코딩 테스트_JAVA] 카드 게임 (JAVA, PYTHON) (0) | 2023.12.26 |
[알고리즘_코딩 테스트_JAVA] 오큰수 (JAVA, PYTHON) (1) | 2023.12.25 |