본문 바로가기
알고리즘 풀이

[백준]1001번: A-B - java 풀이

by 코디드 2023. 3. 23.

이 문제는 어제 풀은 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