백준 11021번 A+B - 7 JAVA

728x90
 

11021번: A+B - 7

각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.

www.acmicpc.net

문제 출처 백준 

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를 해서 닫아주어야합니다.

 

반응형