728x90
문제 출처 백준
import java.io.*;
import java.util.*;
class Main{
public static void main(String args[]) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
for(int i = 1; i <= n; i++){
st = new StringTokenizer(br.readLine()," ");
sb.append("Case #").append(i).append(": ")
.append(Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken()))
.append("\n");
}
br.close();
System.out.println(sb);
}
}
1. BufferedReader을 이용하여 Input 받은 내용을 읽었습니다.
2. BufferedReader로 콘솔 Input을 하려면 InputStreamReader이 필요하다.
3. BufferedReader로 읽으면 String형으로 읽기 때문에 정수형으로 쓰기 위해서는 형변환이 필요하다.
4. readLine() 메소드를 사용해 한줄씩 읽을 수 있다.
5. StringTokenizer는 split처럼 어떤 조건으로 문자열을 자를 수 있다.
6. 여기서는 공백이기 때문에 " " 를 사용하였고, StringTokenizer(문자열," ") 이렇게 사용했다.
7. 이제 자른 문자열을 하나씩 불러오기 위해서는 nextToken() 을 사용한다.
8. 만약 2 4 5 이렇게 되있으면 공백을 기준으로 2 와 4 와 5 를 나누고 nextToken()으로 2를 부르고 다음 nextToken()으로 4를 부르고 이렇게 쓸 수 있다.
9. 이제 출력에 사용할 StringBuilder는 append를 사용해 문자열을 만들 수 있다.
10. 이 코드를 보면 좀 지저분하긴 한데 처음 append로 Case # 을 만들고 그 뒤로 또 문자열을 만들고 만들고 만들고 이렇게 붙여서 만들 수 있다.
11. Buffer를 사용했을 경우는 close를 해서 닫아주어야합니다.
728x90
'알고리즘 with JAVA' 카테고리의 다른 글
백준 4344번 평균은 넘겠지 - BufferedReader, StringBuilder, StringToKenizer, String.format (0) | 2021.03.31 |
---|---|
백준 8958번 OX퀴즈 - Java (0) | 2021.03.29 |
백준 1546번 문제 : 평균 (BufferedReader, StringTokenizer) 사용 (0) | 2021.03.26 |
백준 3052번 : 나머지 자바 HashSet 사용 (0) | 2021.03.26 |
백준 알고리즘 1 (0) | 2020.12.28 |