💻 문제



일단 이해하자🤔
- 직사각형의 꼭짓점들은
(0, 0), (w, 0), (0, h), (w, h)이므로 직사각형의 경계선까지 가는 거리의 최솟값은 x의 길이, y의 길이, |x - w], |y - h| 중 하나다. 이들을 배열에 넣어 for문을 이용해서 가장 작은 값을 구했다. 이때 min의 초깃값은 1000보다 큰 1001로 설정!
👀 풀이
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = bfr.readLine();
StringTokenizer st = new StringTokenizer(str, " ");
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 distance[] = {x, y, Math.abs(w - x), Math.abs(h - y)};
int min = 1001;
for(int i = 0; i < 4; i++) {
if(min > distance[i]) {
min = distance[i];
}
}
bfw.write(String.valueOf(min));
bfr.close();
bfw.flush();
bfw.close();
}
}
아쉬웠던 점••
- 1일 1백준을 실천중인데 아직 문제를 풀지 못해 쉬운 문제를 선택함이 아쉬웠다😅 쉬운 문제는 많지만 내가 성장하려면 생각하게 되는 문제를 풀자.