[알고리즘] 10989번

._mung·2024년 2월 23일
0

Algorithm

목록 보기
30/56

오늘 풀어볼 문제는 백준 10989번 문제 "수 정렬하기 3" 이다.

이 문제는 브론즈1 문제이고 기수 정렬 문제이다.

문제

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

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 
둘째 줄부터 N개의 줄에는 수가 주어진다. 
이 수는 10,000보다 작거나 같은 자연수이다.

출력

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

📌첫 번째 도전📌
문제는 기수 문제로 풀라고 되어 있었지만, 시간 제한이 3초나 되는데 굳이 기수 정렬을 할 필요가 없었다. sort 라이브러리로도 충분히 구현이 가능하다 판단이 들어서 간단히 구현했다.

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(st.nextToken());
        long[] arr = new long[N];

        for(int i=0; i<N; i++) {
            st = new StringTokenizer(br.readLine());
            arr[i] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(arr);

        for(int i=0; i<N; i++) {
            bw.write(arr[i] + "\n");
        }
        bw.flush();
        bw.close();
    }
}

[문제 출처] https://www.acmicpc.net/problem/10989

profile
💻 💻 💻

0개의 댓글

관련 채용 정보