알고리즘/백준(BAEKJOON)

2742/백준/for문 /자바

jojelly 2020. 8. 1. 18:31
반응형

 

 

이문제는 바로이전 N찍기의 순서를 반대로 출력하라는 문제이다. 

2020/07/31 - [백준(BAEKJOON)] - 2741/N찍기/백준/자바/Java/for문

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
public class Main6 {
 
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        int N = Integer.parseInt(br.readLine());
        
    if (N<=100000) {
        for (int i =N; i>0; i--) {
        bw.write(i+"\n");
        }    
    }
    
        bw.flush();
        bw.close();
        br.close();
    }
}
 
cs

이전에 올린글에서 for문에()만 바뀌었다.

 

먼저 Buffer를 이용하여 푸는 방법이다.

우선 bufferead Reader와 Writer를 입력해준다.

 

이후  입력값 N을 받을 수 있도록 만들어야 하는데 

이는 br.readLine을 사용해주며 String형식으로 입력이되기 때문에  int형식으로 변환시켜주기위해 Integer.parsInt를 사용하여 변환시켜 준다

 

. 이후 for문을 이용하는데 문제에 입력값이 100,000이하의 값을 입력한다 했기때문에 if 문을 사용하여 N값이 맞게 들어왔나 확인 후 for문을 사용한다.

 

for문을 통해 1부터 N값까지 출력을 해줄것이디 때문에 for(입력값N부터 시작해 1까지나와야 하기때문에 i >0 ; 이며 1씩 작아지며 나오도록 i--를 사용하면된다. ) 이후 실행문 {} 안에 bw.write를사용하여 i값을 찍어준다

 

. 또한 Buffered는  scanner와 달리 \n을 추가시켜줘야 칸을 넘겨주기때문에 i + \n 으로 나타내 준후 마무리 해주도록 하자.bw.flush(); bw.close(); br.close(); 

 

반응형