백준 2750 자바
수 정렬하기
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
5
5
2
3
4
1
예제 출력 1
1
2
3
4
5
시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 | 128 MB | 141813 | 80847 | 56063 | 58.230% |
오름차순은 방법이 참 여러가지다.
1. Arrays.sort(arr)
package Day1003;
import java.util.Arrays;
import java.util.Scanner;
public class B2750 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N];
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
sc.close();
Arrays.sort(arr);//오름차순 정렬
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
2.선택 정렬
package Day1003;
import java.util.Arrays;
import java.util.Scanner;
public class B2750_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N];
int temp; // 임시저장소
// 입력
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
sc.close();
// 선택정렬
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) { // i가 더 크면
// 값 교환
temp = arr[i]; // 임싲저장소에 보관하고
arr[i] = arr[j]; // 순서 바꿔줌
arr[j] = temp;
}
}
}
// 출력 for문
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
'알고리즘 공부 > 백준 문제풀이' 카테고리의 다른 글
[백준] 15596 : 정수 N개의 합(JAVA) (0) | 2022.10.06 |
---|---|
[백준] 5622 : 다이얼 (JAVA) (0) | 2022.10.06 |
[백준] 2577 : 숫자의 개수(JAVA) (0) | 2022.10.06 |
[백준] 3052 : 나머지 (JAVA) (0) | 2022.10.06 |
[백준] 5565 : 영수증 (JAVA) (0) | 2022.10.06 |