알고리즘/백준(BAEKJOON)

2741/N찍기/백준/자바/Java/for문

jojelly 2020. 7. 31. 15:18
반응형

이번 for문 연습문제는 간단하다. 100,000보다 작은 수 N이 입력되면 1부터 N까지의 값을 한줄에 하나씩 나타내면된다.

반복을 통해서 한번에 한칸씩 적어내려간다 생각하고 시도하면 된다. 

 

Buffered와scanner 를 사용하는 방법 두 가지를 시도해보았다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
//N찍기
public class Main5 {
 
    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 = 1; i <= N; i++) {
            bw.write(i + "\n");
            }
        }    
        bw.flush();
        bw.close();
        br.close();    
    }
}
 
cs

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

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

 

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

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

 

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

 

for문을 통해 1부터 N값까지 출력을 해줄것이디 때문에 for (시작값을 1부터 시작하여 ; N값까지;  1씩 늘어날 수 있도록;)  한다.  이후 실행문 {} 안에 bw.write를사용하여 i값을 찍어준다

 

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

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class Main5_5 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = 0 ;
        
        N =sc.nextInt();
        sc.close();
        if (N <100_000) {
            for (int i = 1; i <= N; i++) {
                System.out.println(i);
            }
        }
    }
}
cs

2.scanner를 사용하는 경우

 

scanner를 생성해준후 입력값N을 만들어준다 (sc.nextInt 사용)

이후 마찬가지고 if문을 통해 입력값이 문제의 출제 범위인 100,000이하인지 확인해준 후 for문을 사용하여

for (시작값을 1부터 시작하여 ; N값까지;  1씩 늘어날 수 있도록;)  한다.

 

이후 println을 통해 i값을 1부터 N값까지  하나씩 나타내면 된다.

 

반응형

'알고리즘 > 백준(BAEKJOON)' 카테고리의 다른 글

11021/백준/A+B-7/자바/for문  (0) 2020.08.03
2742/백준/for문 /자바  (0) 2020.08.01
15552/빠른 A+B/자바/for문  (0) 2020.07.30
8393/ 백준 /합/ for문/자바  (0) 2020.07.29
10950/백준/A+B - 3/자바/java  (0) 2020.07.28