본문 바로가기
개발 관련 공부/알고리즘

백준 10989

by 슴새 2021. 8. 2.
반응형

import java.util.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
public class Main{
    public static void main(String[] args) {
        	try {
			BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
			int n=Integer.parseInt(bf.readLine());
			//리스트 말고 배열로 해야함! idx를 입력받은 수라고 치고, arr[idx]의 값에 그 수가 나온 횟수를 저장하면 메모리 아낄 수 있다.
			//n은 10,000이하의 수기 때문에 int로 해도 됨
			int arr []=new int[10001];
			for(int i=0;i<n;i++) {
				//입력받은 수를 idx로 두고 배열값을 플러스. 이러면 sort 과정이 필요없다.
				arr[Integer.parseInt(bf.readLine())]++;
			}
			 
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); 
            //arr의 모든 원소를 쭉 보기!
			for(int i = 1; i < 10001; i++) {
			//나온 횟수가 0이상일때만 출력
			    if (arr[i] > 0) {
					//만약 여러번 나왔으면 그 idx를 그만큼 출력해야 되니까 for문 하나 더
					for(int j=0;j<arr[i];j++) {
							bw.write(i+"\n");
					}
				}
			}
			bw.flush();   
			bw.close();
		}catch(Exception e) {
			
		}
    }
}
반응형

'개발 관련 공부 > 알고리즘' 카테고리의 다른 글

백준 2108  (0) 2021.08.04
백준 11652  (0) 2021.08.03
백준 10814  (0) 2021.07.30
백준 11651  (0) 2021.07.29
백준 2751  (0) 2021.07.28

댓글