이글을 보고있다면 분명히 문제가 이해가 안가서 찾고 있을 것이라고생각이 됩니다! 왜??? 내가 그랬어요... 문제를 이해를 못하겠더라구요 그래서 그림으로 표현했습니다. 문제를 그림으로 표시
즉, 다시말해서 현수위치에서 저 (w,h)크기의 네모를 벗어난다는 말입니다. 즉 다시말해서 x축, y축 중 어디로 움직여야지 가장 최소값으로 벗어날 수 있는지 코드로 구해보시오!! 이말입니다.
Node.js 풀이
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');
let [x, y, w, h] = input.map(el => parseInt(el));
const xDiff = w-x;
const yDiff = h-y;
const arr = [x,y,xDiff,yDiff];
console.log(arr);
arr.sort((a,b)=>{
return a-b;
})
console.log(arr[0]);
Java 풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer tokenizer = new StringTokenizer(bfr.readLine()," ");
int x = Integer.parseInt(tokenizer.nextToken());
int y = Integer.parseInt(tokenizer.nextToken());
int w = Integer.parseInt(tokenizer.nextToken());
int h = Integer.parseInt(tokenizer.nextToken());
int x_min = Math.min(x, w-x);
int y_min =Math.min(y, h-y);
System.out.println(Math.min(x_min,y_min));
}
}