본문 바로가기
Algorithm/백준

[백준] 2750번 : 수 정렬하기 / java

by 코딩친구 2021. 4. 20.
반응형

www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

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

www.acmicpc.net

 

 

[ 코드 1 ]

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.PriorityQueue;

public class BOJ_2750_수정렬하기 {
	static int N, n;
	static PriorityQueue<Integer> pq = new PriorityQueue<Integer>();
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		N = Integer.parseInt(br.readLine());
		
		for(int i=0; i<N; i++) {
			n = Integer.parseInt(br.readLine());
			pq.add(n);
		}
		
		while(!pq.isEmpty()) {
			System.out.println(pq.poll());
		}
	}
}

 

Priority Queue를 이용하여 정렬한 방식

 

 

 

 

[ 코드 2 ]

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class BOJ_2750_수정렬하기_ver2 {
	static int N, n;
	static int[] arr;
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		N = Integer.parseInt(br.readLine());
		arr = new int[N];
		
		for(int i=0; i<N; i++) {
			n = Integer.parseInt(br.readLine());
			arr[i] = n;
		}
		
		Arrays.sort(arr);
		
		for(int i=0; i<N; i++) {
			System.out.println(arr[i]);
		}		
	}
}

 

Arrays.sort를 이용하여 정렬한 방식

 

 

 

 

※ 오늘의 교훈

오늘은 간단하게 전에 못 풀었던 문제를 두 가지 방법을 이용해서 풀었다.

기초에서부터 다양한 풀이법을 써보았다.

반응형