상냥한 세상 :: [백준]2742번: 기찍N

본문으로 바로가기

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 사용

 

Computer ScienceBAEKJOON JAVA Practice카테고리의 다른글

[백준]2438번: 별 찍기 -1  (0) 2022.01.12
[백준]11022번: A+B-8  (0) 2022.01.11
[백준]2741번: N찍기  (0) 2022.01.11
[백준]15552번: 빠른 A+B  (0) 2022.01.09
[백준]8393번: 합  (0) 2022.01.09