티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 11718번 그대로 출력하기

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

 

11718번: 그대로 출력하기

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

www.acmicpc.net

* 사용언어 : java, 자바

 

1. 문제

입력받은 그대로 출력 (최대 100줄)

 

2. 풀이

정확히 몇 줄인지 주어지지 않기 때문에,
다음 줄에 입력값이 있는지 확인해주어야 합니다.

Scanner 클래스의 hasNextLine() 메소드를 활용하여 확인합니다.

생성한 Scanner 객체는 리소스 누수 방지를 위해 close(); 해줍니다.

 

* 1번 코드의 경우 이클립스에선 제대로 동작하지 않습니다.

이클립스에서도 테스트해보고 싶으시면,

2번 코드처럼 ArrayList 에 전부 넣은 후 출력하면 됩니다.

(입력 값 다 적고 enter를 2번 치면 동작합니다)

 

3. 코드

1)

import java.util.Scanner;

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

2)

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc= new Scanner(System.in);
		ArrayList<String> inputs = new ArrayList<>();
		while (sc.hasNextLine()) {
			String input = sc.nextLine();
			if (input == null || input.isEmpty()) break;
			inputs.add(input);
		}
		sc.close();
        
		for (int i = 0; i < inputs.size(); ++i) {
			System.out.println(inputs.get(i));
		}
	}
}
728x90
반응형
댓글