본문 바로가기
알고리즘/백준 BOJ

[ BOJ/C# ] 10989 수 정렬하기 3

by 왹져박사 2023. 8. 30.

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

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

처음에 리스트에 수를 저장하여 출력헸더니 시간초과로 실패하였다. 

그래서 자연수 10000가지가 들어갈 배열을 미리 만들어 수를 세는 방식으로 풀게되었다. 

using System;

namespace _10989
{
    class Program
    {
        static void Main()
        {
            StreamReader sr = new StreamReader(Console.OpenStandardInput());
            StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());

            int n = int.Parse(sr.ReadLine());
            int[] array = new int[10000];   //10000개의 자연수

            for(int i = 0; i < n; i++)
            {
                int m = int.Parse(sr.ReadLine());
                array[m - 1]++;
            }
            for (int i = 0; i < 10000; i++)
            {
                if(array[i] > 0)
                {
                    for (int j = 0; j < array[i]; j++) sw.WriteLine(i + 1);
                }
            }
            sr.Close();
            sw.Flush();
            sw.Close();
        }
    }
}

'알고리즘 > 백준 BOJ' 카테고리의 다른 글

[ BOJ/C# ] 1546 평균  (0) 2023.09.01
[ BOJ/C# ] 2869 달팽이는 올라가고 싶다  (0) 2023.09.01
[ BOJ/C# ] 21921 블로그  (0) 2023.08.29
[ BOJ/C# ] 1940 주몽  (0) 2023.08.28
[ BOJ/C# ] 1159 농구 경기  (0) 2023.08.27