Recent Posts
소소한 개발이야기
[BOJ #11718번 JAVA] 그대로 출력하기 본문
[백준 온라인 저지] #11718번 (그대로 출력하기) 문제풀이
입력 횟수가 주어지지 않으므로 그 부분만 주의해서 문제를 풀면 쉬운 출력문제이다.
총 2가지의 입력 방법에 대한 풀이가 있다.
첫 번째, Scanner를 이용한다면 Scanner의 hasNext() 함수를 이용하여 다음 입력값이 있는지 확인하고 출력해주면 된다.
1 2 3 4 5 | Scanner in = new Scanner(System.in); while (in.hasNext()) { System.out.println(in.nextLine()); } |
두 번째, BufferedReader를 이용한다면 null인지 확인만 해주면 된다.
1 2 3 4 5 6 7 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = ""; while ((str = br.readLine()) != null) { System.out.println(str); } | cs |
위의 코드를 백준 온라인 저지에 제출을 하면 문제없이 맞았습니다! 를 얻게 된다.
하지만 보통의 사람들은 테스트코드를 자신의 IDE에서 작성해 본 다음 제출을 하는게 대부분이다.
내가 사용하는 Intellij에서 확인하기 위해선 StringBuilder나 ArrayList 등 한 곳에 입력값들을 저장하고 한 번에 출력해야지만 출력이 된다.
그러지 않으면 엔터값을 계속해서 읽어들이기 때문에 테스트가 되질 않는다
1 2 3 4 5 6 7 8 9 10 | StringBuilder builder = new StringBuilder(); while(true){ String str = br.readLine(); if (str == null || str.isEmpty()) { break; } builder.append(str).append("\n"); } br.close(); System.out.println(builder); | cs |
전체 소스코드는 Github에 올려져 있습니다.
더 좋은 방법이나 문제가 있는 부분 말씀해주시면 적극 반영하겠습니다.
Github
'BOJ' 카테고리의 다른 글
[BOJ #1244번 JAVA] 스위치 켜고 끄기 (0) | 2019.03.05 |
---|---|
[BOJ #2884번 JAVA] 알람 시계 (0) | 2019.03.05 |
[BOJ #2490번 JAVA] 윷놀이 (0) | 2019.03.05 |
[BOJ #8958번] OX퀴즈 (0) | 2019.03.04 |
[BOJ #10989번] 수 정렬하기 3 (0) | 2019.02.28 |
Comments