백준 도전기(N찍기)

주재일·2021년 5월 5일
0

참고자료
https://st-lab.tistory.com/31

문제
https://st-lab.tistory.com/31

사실 이번엔 혼자 풀었다..
참고자료는 다른방법의 답이 있는지 구글링하다 들린 곳입니다.

코드

package backjun_for;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class for_2741 {

	public static void main(String[] args) throws Exception, 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=1; i<=n; i++) {
			bw.write(i+"\n");
		}
		bw.flush();
		bw.close();
	}

}

본래 저는 버퍼출력 사용법이 익숙하지 않아서 버퍼로 입력을 받고 출력을 System.out.println(i)로 받아 문제를 풀었는데,

본 코드는 출력도 버퍼로 한 코드 입니다.

성능차이는 System.out.println(i) 는 1048ms 이 나왔고,
버퍼 출력은 308ms 가 나왔습니다.

이젠 다신 System.out.println은 안쓰겠습니다.^^


코드 설명은

버퍼로 몇번 반복 할 것인지 입력을 n 으로 받고 close 를 해줍니다.


반복문으로 i가 n과 같거나 클 때 까지 ++ 증감해줍니다.
다음 출력을 bw.wirte(i+"\n); 으로 

한 줄 출력 후 줄 띄움, 다시 반복문 한줄 띄움, 반복문 식으로 n까지 출력하여 줍니다.

마지막으로 bw.flush(); 로 버퍼를 비워주고(남은 버퍼출력)
bw.close();로 닫아줍니다.!

혼자풀었습니다.! 이제 부터 시작이다!!!!!
profile
늦게 시작했으니 저는 늦둥이인가요?

0개의 댓글