Programming/BaekJoon

백준 11021번 A + B - 7

helloworld: 2021. 7. 15. 09:39

 

첫번째 방법

 

테스트 케이스의 개수 T를 BufferedReader를 이용하여 입력받는다.

for문을 이용하여 다음의 과정을 T번 반복한다.

 - 테스트 케이스를 입력받는다.

 - StringTokenizer를 이용하여 공백을 기준으로 두 수를 분리한다. 

   nextToken()의 반환형이 String이므로 Integer.parseInt()를 이용하여 int로 형변환한다.

 - 출력문에서 케이스 번호와 두 수의 합을 출력한다.

 

import java.io.*;
import java.util.StringTokenizer;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    int T = Integer.parseInt(br.readLine());

    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    for(int i = 0; i < T; i++) {
      StringTokenizer st = new StringTokenizer(br.readLine());
      int A = Integer.parseInt(st.nextToken());
      int B = Integer.parseInt(st.nextToken());
      System.out.printf("Case #%d: %d%n",i+1,A+B);
    }

    bw.close();
    br.close();
  }
}

 

두번째 방법

테스트 케이스의 개수 T를 BufferedReader를 이용하여 입력받는다.

for문을 이용하여 다음의 과정을 T번 반복한다.

 - 테스트 케이스를 입력받는다.

 - BufferedWriter를 이용하여 출력버퍼에 출력할 내용을 넣는다.

    - 이때 입력받은 테스트케이스를 두 수로 분리하는데,

      공백을 사이에 두고 두 숫자를 입력받으므로 substring()으로 분리한다.

 - T번 반복 후 결과를 출력한다.

     

import java.io.*;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    int T = Integer.parseInt(br.readLine());

    for(int i = 1; i <= T; i++) {
      String s = br.readLine();
      bw.write("Case #"+i+": "+(Integer.parseInt(s.substring(0,1)) + Integer.parseInt(s.substring(2,3)))+"\n");
    }
    br.close();
    bw.flush();
    bw.close();
  }
}