ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준/Java] 2741번 - 1부터 N까지 출력
    Problem Solving 2022. 3. 25. 01:24

    이전까지는 문제를 모두 Scanner 및 println으로 풀었는데, 지난 문제에서 버퍼를 통해 데이터를 더욱 효율적으로 입력하고 출력하는 방법을 알게 되면서, 사용법에 익숙해지고자 이 방법으로도 풀어 보았다.

    아직은 좀 낯설다. 연습을 조금 더 하면 될 것 같다.

     

    두 가지 방법으로 풀어 보았다.

    1. Scanner 클래스와 System.out.println() 이용
    2. BufferedReader/BufferedWriter 클래스 이용

     

    1. Scanner / System.out.println()

    import java.util.Scanner;
    
    public class Main{
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int N = sc.nextInt();
            
            for (int i=1;i<=N;i++) {
                System.out.println(i);
            }
            sc.close();
        }
    }

     

    2. BufferedReader/BufferedWriter

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.IOException;
    
    public class Main{
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            
            int N = Integer.parseInt(br.readLine());
            
            for (int i=1;i<=N;i++) {
                bw.write(i + "\n");
            }
            bw.close();
        }
    }

     

    확실히 전자가 코드가 짧고 간결하나, 성능 면에서는 큰 차이를 보인다.

    위가 전자, 아래가 후자로 풀었을 때 사용 메모리 및 걸린시간이다. 딱 봐도 버퍼 메모리를 쓸 때가 빠르고 효율적이다.

Designed by Tistory.