이 문제는 어제 풀은 1000번 A+B문제와 완전 일맥상통하는 문제다
복습 차원에서 다시 한번 가볍게 풀어봤다.
Scanner 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int A = scan.nextInt();
int B = scan.nextInt();
System.out.println(A-B);
scan.close();
}
}
scan.close();는 굳이 하지않아도 문제를 푸는데 지장은 없는데 이걸 왜 해야하는지 의문이 생겨서 구글링을 해봤다.
몇년전에 다른 개발자가 똑같은 질문을 했는데 다른 선배 개발자들에게 엄청 혼이났다.
굳이 사용하는데는 다 이유가 있으니 본인 상식 수준에서 판단하지 말고 시키는 대로 하라는게 답이었다.
사실 진짜 이유는 리소스 낭비를 막는데 있다.
이에 대한 포스트는 나중에 따로 남기도록 하겠다.
BufferedReader + StringTokenizer 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
System.out.println(A-B);
}
}
BufferedReader + split() 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
int A = Integer.parseInt(str[0]);
int B = Integer.parseInt(str[1]);
System.out.println(A-B);
}
}
'알고리즘 풀이' 카테고리의 다른 글
[백준]2588번: 곱셈 - java 풀이 (0) | 2023.03.25 |
---|---|
[백준]10869번:사칙연산 - java 풀이 (0) | 2023.03.23 |
[백준]1000번: A+B - java 풀이 (0) | 2023.03.22 |
백준 10430 java 풀이 (0) | 2023.02.12 |
백준 10655번 java 풀이 (0) | 2023.02.11 |