일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 그대로 출력하기
- 데이터길이
- algoritm
- Java
- 입출력
- Database
- 백준
- DP
- 알고리즘
- Dynamic Programming
- JOIN
- 문자열
- Algorithm
- darkest dark
- 소숫점처리
- 오라클
- 반복문
- select
- 2156
- 데이터베이스
- SQL
- n x 2 타일링 2
- oracle
- db
- 변수
- 10951
- 동적계획법
- Eclipse
- 자바
- ANSI JOIN
Archives
- Today
- Total
Cracking Code
[입출력 (I.O.)] 백준 11718: 그대로 출력하기, Java 본문
1. 접근
저번 게시글 10951번 문제에 이어 테스트 케이스 수가 주어지지 않았습니다.
10951의 해결법을 응용하여 문자열의 입출력을 수행합니다.
2. 해결
String 데이터형의 공백 포함 엔터 전까지 받는 메소드는 nextLine() 을 사용합니다.
다음에 받아올 문자열이 있는지 확인하기 위해
Scanner 객체의 hasNextLine() 메소드를 while 문의 조건부에 사용하면 쉽게 해결할 수 있었습니다.
3. 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String s = sc.nextLine();
System.out.println(s);
}
sc.close();
}
}
4. 추가 코드
문제를 해결하고 나서 소요시간을 조금 더 줄일 수 있는 방법이 없을까 찾아보았습니다.
자바의 BufferedReader 객체를 이용하여 입력을 받아오면
메모리의 사용량과 속도가 조금 더 빠르게 나타났습니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s;
while ((s = bf.readLine()) != null) {
System.out.println(s);
}
}
}
BufferedReader 객체를 사용하기 위해선 IOException이 필요합니다.
'Algorithms > 입출력 (I.O.)' 카테고리의 다른 글
[입출력 (I.O.)] 백준 10951: A+B - 4, Java (0) | 2020.07.26 |
---|
Comments