티스토리 뷰
728x90
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
가장 간단한 방법은 Arrays.sort() 메소드를 이용해 정렬하는 것이다. 여기선 기본적인 정렬 알고리즘 중 하나인 선택 정렬을 사용했다. 배열의 최소값을 찾아 맨 앞의 원소와 자리를 바꾸고, 맨 앞의 원소를 제외한 나머지 배열을 같은 방식으로 총 n번 교체하면 오름차순으로 정렬된다.
package baekjoon;
import java.util.Scanner;
public class B_2750 {
public static void main(String[] args) {
Scanner stdin = new Scanner(System.in);
int n = stdin.nextInt();
int []array = new int[n];
for(int i=0;i<n;i++)
array[i] = stdin.nextInt();
stdin.close();
int minIndex;
int temp;
for(int i=0;i<n;i++) { // 선택 정렬
minIndex = i;
for(int j=i+1;j<n;j++)
if(array[j] < array[minIndex])
minIndex = j;
temp = array[minIndex];
array[minIndex] = array[i];
array[i] = temp;
}
for(int a : array) // 정렬된 값 출력
System.out.println(a);
}
}
728x90
'algorithm > BOJ' 카테고리의 다른 글
[백준 알고리즘/BOJ] 자바(java) 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (0) | 2021.02.16 |
---|---|
[백준 알고리즘/BOJ] 자바(java) 1934번 최소공배수 (0) | 2021.02.15 |
[백준 알고리즘/BOJ] 자바(java) 1546번 평균 (0) | 2021.02.11 |
[백준 알고리즘/BOJ] 자바(java) 1157번 단어 공부 (0) | 2021.02.10 |
[백준 알고리즘/BOJ] 자바(java) 1110번 더하기 사이클 (0) | 2021.02.10 |