공부하는 히욤이

[BOJ] 10989. 수 정렬하기3 본문

Algorithm/BaekJoon

[BOJ] 10989. 수 정렬하기3

히욤이 2019. 8. 3. 23:25

BaekJoon 10989. 수 정렬하기3

* 문제의 저작권은 BOJ 및 문제를 만든 사람에게 있습니다.

 

 

 

 

 

 

[문제 접근]

 

전에 문제들 보다 범위가 10,000,000으로 더 커졌다.

처음에는 ArrayList를 썼더니 메모리 초과가 났다.

숫자는 10,000 보다 작거나 같은 자연수라는 조건이 있어서

10001만큼 배열을 만들고 해당 하는 인덱스에 1씩 넣어주는 방식으로 바꾸었더니 시간 초과가 났다.

syso 대신 BufferedWriter를 사용했더니 틀렸습니다가 떴다.

br과 bw를 닫아주니 맞았다.

BufferedWriter를 처음 써봤는데 꼭 닫아줘야하나 보다.

 

 

 

 

 

 

 

 

[코드]

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main_10989 {

	public static void main(String[] args) throws Exception, 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[10001];
		for (int i = 0; i < N; i++) {
			int num = Integer.parseInt(br.readLine());
			nums[num]++;
		}

		for (int i = 0; i < nums.length; i++) {
			if (nums[i]!=0) {
				for (int j = 0; j < nums[i]; j++) {
					bw.write(String.valueOf(i));
					bw.newLine();
				}
			}
		}
		br.close();
		bw.close();
	}
}

'Algorithm > BaekJoon' 카테고리의 다른 글

[BOJ] 4949. 균형잡힌 세상  (0) 2019.08.04
[BOJ] 10828. 스택  (0) 2019.08.04
[BOJ] 2751. 수 정렬하기2  (0) 2019.08.03
[BOJ] 2750. 수 정렬하기  (0) 2019.08.03
[BOJ] 1436. 영화감독 숌  (0) 2019.08.03