본문 바로가기
Baekjoon 자바 코드/문자열

[백준] 11718번 그대로 출력하기 풀이 코드 (Java 자바)

by 망댕이 2024. 4. 18.
반응형

 

 

11718번 문제는 단순하게 입력값 그대로 출력값도 똑같이 출력되도록 하는 것이 목표이다.

우선 입력값이 몇 줄 주어지는지 알 수 없기 때문에 입력값이 더 이상 존재하지 않을 때까지 출력이 되도록 코드를 작성해야 한다는 점을 파악해야 한다.

 

정답 코드 1)

import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.nextLine();
            System.out.println(str);
        }
        
    }
}

 

Scanner클래스의 메소드 한 개만 알고 있으면 아주 쉽게 풀리는 문제이다.

hasNext()는 true, false 반환하며, 값을 출력할 문자열이 있으면 true 더 이상 출력할 문자열이 없으면 false를 반환한다.

 

이렇게 while문과 Scanner 클래스의 hasNext() 메소드를 이용하여 문제를 풀 수 있다.

 

정답 코드 2)

import java.util.*;
import java.io.*;

class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        
        while ((str = br.readLine()) != null){
            System.out.println(str);
        }
    }
}

 

이 방법은 BufferedReader를 이용하여 시간을 더 단축할 수 있다.

while문 안에 str = br.readLine()을 이용하여 입력값을 계속 읽어 들이고 더 이상 읽어드릴 str이 없으면 prinlln(str)이 종료된다.

반응형