Java/백준알고리즘

[Java] 백준알고리즘 #2750 수 정렬하기

Sehyeok20 2021. 3. 17. 18:45
반응형

백준알고리즘 #2750 수 정렬하기

입력받은 수들을 오름차순으로 정렬하여 출력하는 문제이다.

 

앞서 여러 문제들을 풀면서 사용했던 선택 정렬을 이용하면 되겠다.

2021.03.15 - [Java/백준알고리즘] - [Java] 백준알고리즘 #2798 블랙잭

 

[Java] 백준알고리즘 #2798 블랙잭

주어진 수들을 조합하여 3장의 카드를 골라 합이 m에 가장 근접하게 하는 문제이다. 이 문제는 선택정렬을 이용하여 풀면 간단하게 해결할 수 있다. 흔히 최소값, 최대값 또는 오름차순정렬 등을

sehyeok.tistory.com

 

for (int i = 0; i < n; i++) {
	for (int j = i + 1; j < n; j++) {
		if (a[i] > a[j]) {
			int tmp = a[i];
			a[i] = a[j];
			a[j] = tmp;
		}
	}
}

이중 for문을 사용하여 각 원소를 하나씩 비교해주고 tmp변수를 이용해 작은 수는 앞으로, 큰 수는 뒤로 옮기면 된다.

 

전체 코드를 보면 다음과 같다.

import java.util.Scanner;

public class Back2750 {
	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; i++) {
			for (int j = i + 1; j < n; j++) {
				if (a[i] > a[j]) {
					int tmp = a[i];
					a[i] = a[j];
					a[j] = tmp;

				}
			}
		}
		for (int i = 0; i < n; i++) {
			System.out.println(a[i]);
		}
	}
}
반응형