컴공 공부/백준

[백준 알고리즘] 1985번 직사각형 탈출 자바

무무뭉? 2021. 1. 7. 17:20
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

class Main{
	public static void main(String args[]) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = null;
		st = new StringTokenizer(br.readLine(), " ");
		int x = Integer.parseInt(st.nextToken());
		int y = Integer.parseInt(st.nextToken());
		int w = Integer.parseInt(st.nextToken());
		int h = Integer.parseInt(st.nextToken());
		
		System.out.println(Math.min(Math.min(w-x, x),Math.min(h-y, y)));
		
		br.close();
	}
}

보다 더 쉽고 코드의 가독성이 높은 방식인 Scanner를 사용하였을 경우 코드를 작성하기 쉬우나 코드의 실행시간이 긴것을 알 수 있다. 

BufferedReader를 통해 변수를 한줄로 입력받고 입력받은 수를 공백을 기준으로 나눈다음

StringTokenizer를 통해 String 타입으로 입력받은 변수를 Int 타입으로 변환후

Math 라이브러리를 통해 연산한다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int x = in.nextInt();
		int y = in.nextInt();
		int w = in.nextInt();
		int h = in.nextInt();
		
		System.out.println(Math.min(Math.min(w-x, x),Math.min(h-y, y)));
		
	}
}