공부하기/백준

[Java] 백준 풀기 11719 - 그대로 출력하기 2

XEV 2023. 6. 4. 20:36

자바 백준 11719번

브론즈 3

https://www.acmicpc.net/problem/11719

 

11719번: 그대로 출력하기 2

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현, 문자열

 

 

 

 

 

문제 풀기

while 을 통해 지속적인 입력을 받으면서 Scanner() 의 hasNextLine() 을 통해 다음 입력이 없으면 최종 문자를 출력하도록 작성한다.

최종 문자들은 String 과 달리 누적 문자기록이 가능한 StringBulider 를 이용한다.

 

StringBuilder 를 통해 output 을 저장할 변수를 지정한다.

다음 문자열 라인의 입력이 없으면 while 문을 빠져나올 수 있도록 sc.hasNextLine 을 지정한다.

각 문자열 라인을 sc.nextLine(); 으로 입력받고 StringBuilder 로 생성한 output 에 누적 저장을 한다.

만약 sc.hasNextLine() 으로 다음 문자열 입력이 있다면 System.lineSeperator() 를 이용하여 줄바꿈을 시행하고, 그렇지 않으면 StringBuilder output 을 toSting() 으로 변경한 뒤 반환시킨다.

반환된 결과를 출력한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    
    public static void main(String args[]) {
        String result = outputTheInputText();
        
        System.out.print(result);
    }
    
    public static String outputTheInputText() {
        Scanner sc = new Scanner(System.in);

        StringBuilder output = new StringBuilder();
        while (sc.hasNextLine()) {
            String line = sc.nextLine();
            output.append(line);
            if (sc.hasNextLine()) {
                output.append(System.lineSeparator());
            }
        }

        return output.toString();
    }
}