반응형
문제
풀이
package step3;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException{
// A+B - 8
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 ab = br.readLine();
int a = ab.charAt(0) - '0';
int b = ab.charAt(2) - '0';
bw.append("Case #" + i + ": " + a + " + " + b + " = " + (a + b) + "\n");
}
br.close();
bw.flush();
bw.close();
}
}
팁
입력에서 A와 B의 범위는 0 초과 10 미만이므로, 한 자리수이다.
따라서 문자열로 입력받을시 공백이 들어가는 위치는 고정되어있다.
특정 위치의 문자를 반환해주는 charAt()을 활용하면
StringTokenizer 객체를 생성하지 않아 시간이 더욱 단축된다.
String.charAt(n)
- n번째 위치의 문자를 char 형태로 반환한다.
- char 형태로 반환되는 값을 int형으로 바꾸면 아스키코드 값으로 변환되기 때문에,
원하는 숫자를 얻기 위해서는 - '0' 또는 - 48을 해줘야 한다.
출처
반응형
'알고리즘 > Java' 카테고리의 다른 글
[백준/단계별로 풀어보기] 3. for문 - 2439.별 찍기 - 2 (Java8) (0) | 2021.08.25 |
---|---|
[백준/단계별로 풀어보기] 3. for문 - 2438.별 찍기 - 1 (Java8) (0) | 2021.08.25 |
[백준/단계별로 풀어보기] 3. for문 - 11021.A+B - 7 (Java8) (0) | 2021.08.25 |
[백준/단계별로 풀어보기] 3. for문 - 2742.기찍 N (Java8) (0) | 2021.08.25 |
[백준/단계별로 풀어보기] 3. for문 - 2741.N 찍기 (Java8) (0) | 2021.08.25 |