반응형
안녕들 하시죠 !
이번시간에는 백준 2750번 정렬문제를 풀어보겠습니다.
이번 정렬문제에는 버블정렬을 사용하겠습니다.
버블 정렬
인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환하는 비교-교환 과정을 리스트의 왼쪽 끝에서 시작하여 오른쪽 끝까지 진행한다.
한 번의 스캔에 의해 가장 큰 레코드가 리스트의 오른쪽 끝으로 이동하게 된다.
버블 정렬을 적용하여 백준 2750번 문제를 풀어보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import java.util.Scanner;
public class hello {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] number = new int[sc.nextInt()]; // 배열 크기를 입력받는다
int sort = 0; // 앞뒤 정수의 교환을 위한 변수
for (int i = 0; i < number.length; i++) {
number[i] = sc.nextInt(); // 각 배열에 정수 저장
}
for (int k = 0; k < number.length; k++) {
for (int j = 0; j < number.length - 1; j++) {
if (number[j] > number[j + 1]) { // ex) 12 8 과 같이 앞에 있는 정수가 더 크다면 둘을 교환
sort = number[j];
number[j] = number[j + 1];
number[j + 1] = sort;
}
}
}
for (int i = 0; i < number.length; i++) {
System.out.println(number[i]);
}
}
}
|
cs |
length 필드 사용법은 아래글을 참고하시면 됩니다.
2019/04/29 - [Java] - Java의 length필드 사용법
버블정렬 출력에 성공했습니다.
오늘은 여기까지입니다 감사합니다 !
참고서적 천인국, 공용해, 하상호 「c언어로 쉽게 풀어쓴 자료구조」
'알고리즘' 카테고리의 다른 글
Java) 입력받은 숫자 n까지의 소수갯수 구하기 + 최적 알고리즘 (0) | 2019.09.27 |
---|---|
Java 원형큐 구현 (0) | 2019.06.23 |
Java 링크드리스트 구현 (0) | 2019.06.22 |
백준 10828번 (스택) (0) | 2019.05.10 |
백준 1000번 (0) | 2019.04.16 |