[C#] 백준 10989번 : StreamReader

2023. 1. 18. 18:25·언어/C#
728x90

 

using System;

class Program
{
    static void Main(string[] args)
    {
        int N = int.Parse(Console.ReadLine());
        int[] arr = new int[10001];

        for (int i = 0; i < N; i++)
            arr[int.Parse(Console.ReadLine())]++;

        for (int i = 0; i < 10000; i++)
        {
            if (arr[i] != 0)
            {
                for (int j = 0; j < arr[i]; j++)
                    Console.WriteLine(i);
            }
        }
    }
}

 

메모리를 아끼기 위해 2751번에서 사용했던 Array.Sort 방식이 아니라 다른 방식을 사용해야 했다. 구글링을 통해서 필요한 최대 크기의 배열을 미리 생성한뒤 숫자를 입력받아 필요한 정보만 출력하는 방법을 사용했다. 하지만! 시간초과였다.

 

다시 구글링을 해보니 StreamReader와 StreamWriter를 사용해야했다.

using System;

class Program
{
    static void Main(string[] args)
    {
        using var sr = new StreamReader(Console.OpenStandardInput());
        using var sw = new StreamWriter(Console.OpenStandardOutput());
        int N = int.Parse(sr.ReadLine());
        int[] arr = new int[10001];

        for (int i = 0; i < N; i++)
            arr[int.Parse(sr.ReadLine())]++;

        for (int i = 0; i <= 10000; i++)
        {
            if (arr[i] != 0)
            {
                for (int j = 0; j < arr[i]; j++)
                    sw.WriteLine(i);
            }
        }
    }
}

 

정답 코드다.

 

✅ StreamReader

특정한 인코딩의 바이트 스트림에서 문자를 읽어주는 클래스다.

 

✅ StreamWriter

특정한 인코딩의 스트림에 문자를 쓰는 클래스다.

 

 

둘다 주로 텍스트 파일을 읽어올 때 사용하는 클래스다. 기초 네트워크에서 문자를 읽을 때도 사용한다. Console.ReadLine은 내부적으로 TextReader 객체를 사용하여 문자를 읽는다. 별 차이는 없다고 하지만 StreamReader가 더 빠르다.

728x90

'언어 > C#' 카테고리의 다른 글

[C#] SortedSet 중복 없는 배열 생성  (0) 2023.07.25
[C#] 백준 1929번 : 에라토스테네스의 체 방식(빠르게 소수 찾기)  (0) 2023.01.15
[C#] 백준 2581번  (0) 2023.01.14
[C#] 백준 10757번 : 큰 수를 다룰 땐 BigInteger를 활용하자  (0) 2023.01.12
[C#] 백준 2839번  (0) 2023.01.12
'언어/C#' 카테고리의 다른 글
  • [C#] SortedSet 중복 없는 배열 생성
  • [C#] 백준 1929번 : 에라토스테네스의 체 방식(빠르게 소수 찾기)
  • [C#] 백준 2581번
  • [C#] 백준 10757번 : 큰 수를 다룰 땐 BigInteger를 활용하자
돌멩이수프
돌멩이수프
Information technology
  • 돌멩이수프
    WHAT DOES "IT" STAND FOR?
    돌멩이수프
  • 전체
    오늘
    어제
    • 분류 전체보기 (239) N
      • 언어 (73)
        • html (3)
        • css (1)
        • java (6)
        • C (26)
        • C++ (2)
        • C# (29)
      • 공부 (7)
        • Unity (43)
        • 게임 서버 (26)
        • 네트워크 (5)
        • 데이터베이스 (7)
        • EFCore (19)
        • 기타 (14)
        • Git (5)
        • 운영체제 (1)
        • 소프트웨어공학 (21)
      • 2024-여름 (12)
      • 자기 관리 (4) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네트워크
    C언어
    C#
    EFCore
    coding
    unity
    라즈베리파이
    코딩
    게임서버
    백준
    java
    자바
    C
    HTML
    tcp
    Entityfamework
    Python
    유니티
    디자인패턴
    EntityFramework
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
돌멩이수프
[C#] 백준 10989번 : StreamReader
상단으로

티스토리툴바