[백준] java 2751

Sundae·2023년 7월 26일
0

백준

목록 보기
16/63
post-thumbnail
post-custom-banner

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


문제

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

풀이 방법

내장 정렬 함수를 사용했기 때문에 크게 어렵지 않았다.

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

public class Main{
   public static void main(String[] args) throws IOException { 
      BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
      int N = Integer.parseInt(bf.readLine());
      
      int[] array = new int[N];      
    
      for( int i = 0; i < N; i++) 
      {
    	  array[i] = Integer.parseInt(bf.readLine());
      }
      //정렬
      Arrays.sort(array);
      
      for(int i = 0; i < array.length; i++)
    	  bw.write(array[i]+"\n");
    
      bw.flush();
   }  
}     
     

느낀점

자료구조와 알고리즘의 사용 종류에 따라 시간과 비용이 달라진다.
속도와 메모리 효율을 높이려면 때에 따라 알맞은 자료구조와 알고리즘을 사용해야한다.
나는 정렬 방법 중 버블 정렬만을 알고 있었는데, 버블정렬은 구현이 매우 간단하지만 시간복잡도가 O( N² )이고 정렬 과정이 비효율적이다.
위와 같은 이유로 다른 정렬 방법을 공부하고자 한다.
분할 정렬과 힙 정렬을 공부하고, 공부한 방법을 이용해 본 문제를 풀어보겠다.

profile
성장 기록 / 글에 오류가 있다면 댓글 부탁드립니다.
post-custom-banner

0개의 댓글