https://www.acmicpc.net/problem/11718
문제
- 입력 받은 대로 출력하는 프로그램을 작성하시오.
입력
- 입력이 주어진다.
- 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다.
- 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다.
- 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.
출력
- 입력받은 그대로 출력한다.
입출력 예제
풀이방식설계
1. 문자를 입력받은 후, 입력받은 만큼 반복문을 돌려서 해당 문자들을 그대로 출력한다.
풀이과정(Scanner)
1. 문자들을 입력받는다.
2. while 문을 통해 입력받은 문자가 없을 때 까지 반복하며 문자를 출력한다.
- hasNext() : boolean 타입으로 반환하기에 true / false로 반환된다. 다음에 가져올 값이 있으면 true, 없으면 false를 반환한다.
- next() : 매개변수 혹은 iterator 되는 타입으로 반환한다. 즉, String으로 입력받으면 String으로 반환한다.
3. 결과를 출력한다.
- nextLine() : Enter 치기 전까지 쓴 문자열을 모두 리턴한다.
- next() : 공백 전까지 입력받은 문자열을 리턴한다.
풀이과정(BufferedReader)
1. 두 정수를 입력받고 변수 str 을 선언한다.
2. while문을 통해 입력받은 문자가 있다면 반복해서 문자를 출력한다.
- br.readLine() : 한 줄만 입력받는다.
- 매번 한 줄을 입력받아서 출력하고, 다음 한 줄의 유무를 확인한다.
3. 결과를 출력한다.
답안소스(Scanner)
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
System.out.println(sc.nextLine());
}
}
}
답안소스(BufferedReader)
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String str = "";
while((str = br.readLine()) != null) {
System.out.println(str);
}
}
}
https://www.acmicpc.net/problem/11719 와 완전히 동일한 코드 답안이기에 이 글로 설명을 대체한다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘 자바] 11054: 가장 긴 바이토닉 부분 수열 (0) | 2023.11.06 |
---|---|
[백준 알고리즘 자바] 11722: 가장 긴 감소하는 부분 수열 (0) | 2023.11.04 |
[백준 알고리즘 자바] 10953: A+B - 6 (0) | 2023.07.04 |
[백준 알고리즘 자바] 2558: A+B - 2 (0) | 2023.05.10 |
[백준 알고리즘 자바] 2480 : 주사위 세개 (0) | 2023.03.08 |