성장 이야기/Java

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

treewoodman 2021. 11. 22. 11:53
반응형

https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

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

www.acmicpc.net


벌써 백준 단계별 풀어보기 정렬까지 오게 되었다

하루에 1~2 문제씩 풀려고 노력하고 있는데 벌써 정렬까지 오게 되었다

 

하나하나씩 문제를 해결하고 이렇게 블로그 포스팅으로 다시 정리해보니 좀 더 이해가 되고 실력이 향상되는 것을 느끼는 거 같다

 

초심을 잃지 말고 화이팅~~! 


  • 문제
  • 예제
  • 문제 풀이

이번 문제는 수를 입력받고 입력 받은 수를 오름 차순으로 정렬하는 문제이다.

백준 단계별 풀어보기 정렬 카테고리 첫 문제라 그런지 매우 쉬운 문제이다.

 

두 가지 방법으로 배열을 출력해보았다 

첫 번째 방법은 그냥 System.out.println(); 을 이용해서 하나하나씩 출력해주는 거고

두 번째 방법은 StringBuilder를 이용해서 출력해주는 거다

 

StringBuilder는 기존에 데이터에 더하는 방식을 사용하기 때문에 System.out.println(); 보다 속도도 빠르고 메모리를 낭비하지 않게 된다 

따라서 많은 데이터를 출력할 때에는 System.out.println();로 하나씩 출력하는 거보다 StringBuilder를 사용하는것이 더 좋다

 

첫 번째 방법으로 코드를 짜보았다

  • 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 입력 받을 수의 개수 입력

		int[] num = new int[Integer.parseInt(br.readLine())];

		for (int i = 0; i < num.length; i++) {
			num[i] = Integer.parseInt(br.readLine());	// 입력 받을 수 입력
		}

		Arrays.sort(num);	// Arrays.sort()메서드를 이용해서 배열 안에 있는 수를 정렬해준다
		for (int i = 0; i < num.length; i++) {
			System.out.println(num[i]);	//수 출력
		}
	}

}

 

 

두번 째 방법인 StringBuilder를 사용해서 코드를 짜보았다

  • 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		int[] num = new int[Integer.parseInt(br.readLine())]; // 입력 받을 수의 개수 입력

		for (int i = 0; i < num.length; i++) {
			num[i] = Integer.parseInt(br.readLine()); // 입력 받을 수 입력
		}

		Arrays.sort(num); // Arrays.sort()메서드를 이용해서 배열 안에 있는 수를 정렬해준다
		for (int i = 0; i < num.length; i++) {
			sb.append(num[i]).append("\n");
		}
		System.out.println(sb); // 수 출력
	}

}

 

반응형