일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- n x 2 타일링 2
- 10951
- 2156
- JOIN
- oracle
- 오라클
- ANSI JOIN
- select
- Java
- 입출력
- algoritm
- DP
- Dynamic Programming
- 변수
- Algorithm
- 동적계획법
- 데이터베이스
- 데이터길이
- darkest dark
- Database
- 백준
- 그대로 출력하기
- 반복문
- Eclipse
- 자바
- db
- 알고리즘
- 문자열
- SQL
- 소숫점처리
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