coding study/baekjoon
[java] 1085. 직사각형에서 탈출
yeoonii
2023. 7. 27. 01:33
import java.io.*;
import java.lang.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
//첫째 줄에 공백으로 구분된 x,y,w,h를 입력 받음
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer 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());
int output_height = 0;
int output_width = 0;
//w,h을 이용해서 현재위치인 (x,y)에서 탈출할 수 있는 거리의 최솟값 출력
if (y<h) {
output_height = h-y;
System.out.println("세로 : " + output_height);
}
if (x<w) {
output_width = w-x;
System.out.println("가로 : " + output_width);
}
if (output_height > output_width) {
if (output_width > x) {
System.out.println(x);
} else {
System.out.println(output_width);
}
} else if (output_height < output_width) {
if (output_height > y) {
System.out.println(y);
} else {
System.out.println(output_height);
}
} else {
System.out.println(output_width);
}
}
}
처음엔 노가다로 했는데 문제는, 테케2에 안맞아도 변수가 너무 많아서 머리가 아팠다. 그래서 코드를 수정. 함수씀
import java.io.*;
import java.lang.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
//첫째 줄에 공백으로 구분된 x,y,w,h를 입력 받음
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer 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());
//w,h을 이용해서 현재위치인 (x,y)에서 탈출할 수 있는 거리의 최솟값 출력
int minDistance = Math.min(Math.min(x, w - x), Math.min(y, h - y));
System.out.println(minDistance);
}
}
아 함수 편하다..C처럼 하나 하나 안해도 되는구낭..