본문 바로가기

숨막히는 알고말고/문제 풀이

[Baekjoon] 수 정렬하기 2

👀 문제 설명

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

 

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

 

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

 

예제 입력 1

5

5

4

3

2

1

 

예제 출력 1

1

2

3

4

5

 

✍🏻풀이

int 배열에 수를 입력받고, Arrays.sort를 사용해 오름차순으로 정렬한다.

출력할 때, 중복값을 확인해주기 위해 인덱스 i의 값과 i - 1의 값을 비교하며 출력한다.

 

코드

package boj;

// 수 정렬하기 2 (https://www.acmicpc.net/problem/2751 )

import java.util.*;
import java.io.*;

public class BOJ_2751 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int N = Integer.parseInt(br.readLine());
		int[] nums = new int[N];
		
		for (int i = 0; i < N; i++) {
			nums[i] = Integer.parseInt(br.readLine());
		}
		
		Arrays.sort(nums);
		bw.write(nums[0] + "\n");
		for (int i = 1; i < nums.length; i++) {
			if (nums[i] != nums[i - 1]) {
				bw.write(nums[i] + "\n");
			}
		}

		bw.flush();
		bw.close();
	}

}

'숨막히는 알고말고 > 문제 풀이' 카테고리의 다른 글

[Baekjoon] 직각삼각형  (0) 2021.08.16
[Baekjoon] 블랙잭  (0) 2021.08.16
[Baekjoon] 최대공약수와 최소공배수  (0) 2021.08.16
[Baekjoon] 카드2  (0) 2021.08.15
[Baekjoon] 팰린드롬수  (0) 2021.08.14