JAVA 백준 11718

김수현·2024년 1월 20일

백준

목록 보기
9/12

개념 부족(line = br.readLine()) != null 이것에 대한 생각 필요
새싹 문자열 그대로 출력하기
구조는 단순한데 끝없이 읽어온다는 점이 코드 작성을 망설이게 했다.

11718

문제
입력 받은 대로 출력하는 프로그램을 작성하시오.

입력
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.

출력
입력받은 그대로 출력한다.

예제 입력 1
Hello
Baekjoon
Online Judge
예제 출력 1
Hello
Baekjoon
Online Judge

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }

        br.close();
    }
}

총정리: gpt한테 물어봤다
while ((line = br.readLine()) != null) 구문은 파일의 끝(End of File, EOF)에 도달할 때까지 BufferedReader로부터 한 줄씩 읽어오는 반복문입니다.

br.readLine()은 한 줄을 읽어오고, 파일의 끝에 도달하면 null을 반환합니다. 따라서 이 조건을 통해 파일의 끝까지 읽기를 반복하게 됩니다. 각 반복에서 line 변수에는 현재 읽은 한 줄의 내용이 저장되고, 이를 그대로 출력하게 됩니다.

이 방식은 파일의 끝을 확인하면서 입력을 읽어오기 때문에, 입력의 길이에 상관없이 파일의 끝까지 안전하게 읽을 수 있습니다.

profile
안녕하세요

0개의 댓글