Computer Science/BAEKJOON JAVA Practice

[백준]2742번: 기찍N

미국대학생 2022. 1. 11. 08:33

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

 

2742번: 기찍 N

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

www.acmicpc.net

  • 문제

이전문제에서 결과값이 역순으로 나오는 문제다. 다른점 하나는 for문에서(또는 while문에서) 숫자가 내려가게 설정해주면된다)


  • 코드 1
import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		in.close();
        
		for(int i=N; i>0; i--){
        	System.out.println(i);
		}
	}
}
//for문 사용
for(int i=N; i>0; i--){
	System.out.println(i);
}



//while문 사용
while(N>0;){
	System.out.println(N);
    N--;
}

  • 결과


  • 코드 2
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
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());
        br.close();
        
        for(int i=N; i>0; i--){
            bw.write(i+"\n");
        }
        bw.flush();
        bw.close();
    }
}

BufferedReader+Writer의 조합은 최고다!


  • 결과


  • 코드 1, 2 성능 차이

Scanner 사용
BufferedReader+BufferedWriter 사용