문제
https://www.acmicpc.net/problem/11718
11718번: 그대로 출력하기
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시
www.acmicpc.net
입력받은 문자열을 빈줄없이 그대로 출력하는 문제이다.
입력 출력
Hello Hello
Baekjoon Baekjoon
Hello World Hello World
------------------------------------------------------------------------------------------------------------------
풀이
(1) Scanner 사용
While문의 조건에 hasNextLine()을 이용하였다.
hasNextLine()은 boolean형식으로 반환해주는 메소드이다. 다음 줄에 입력이 있는지의 여부를 판단하여 True/False를 반환한다. 엔터(\n)도 동일하게 True로 반환하기 때문에 break를 해주어야 할 것 같은데 이 부분은 잘 모르겠다....
+) 공백을 포함한 문자열도 그대로 출력해야하기 때문에 공백 전까지의 문자열을 받는 next()가 아닌 nextLine()을 이용하였다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()) {
String str = sc.nextLine();
System.out.println(str);
}
sc.close();
}
}
------------------------------------------------------------------------------------------------------------------
(2) BufferdReader 사용
while문 밖에서 String 변수를 미리 선언해놓은 뒤, br.readLine()을 사용하였다.
입력이 없을 때까지 반복실행 되도록 (str = br.readLine()) != null 을 while문의 조건으로 설정하였다.
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 str;
while((str=br.readLine())!=null) {
System.out.println(str);
}
br.close();
}
}
'문제 풀이' 카테고리의 다른 글
[백준] 5622번: 다이얼 - JAVA (자바) (0) | 2023.08.06 |
---|---|
[백준] 2444번: 별 찍기 - 7 - JAVA (자바) (0) | 2023.08.06 |
[백준] 2908번: 상수 - JAVA (자바) (0) | 2023.06.29 |
[백준] 1152번: 단어의 개수 - JAVA (자바) (0) | 2023.06.28 |
[백준] 2675번: 문자와 문자열 - JAVA (자바) (0) | 2023.06.27 |