1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램
www.acmicpc.net
문제
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 x, y, w, h가 주어진다.
출력
첫째 줄에 문제의 정답을 출력한다.
제한
- 1 ≤ w, h ≤ 1,000
- 1 ≤ x ≤ w-1
- 1 ≤ y ≤ h-1
- x, y, w, h는 정수
풀이
아래 이미지는 첫번째 예제를 그린 이미지입니다.
6 2 10 3
다음과 같은 정보를 알 수 있습니다.
- 좌측 변과의 거리 : 한수의 x값 그대로
- 우측 변과의 거리 : w - x
- 위쪽 변과의 거리 : h - y
- 아래쪽 변과의 거리 : 한수의 y값 그대로
이렇게 4개의 거리를 배열에 저장한뒤 오름차순으로 정렬하여 첫번째 값을 출력합니다.
코드
const input = require("fs").readFileSync("dev/stdin").toString().trim();
const [x, y, w, h] = input.split(" ");
const arr = [Number(x), Number(y), w - x, h - y];
console.log(arr.sort((a, b) => a - b)[0]);
'Programing > 백준' 카테고리의 다른 글
[백준 / nodejs] 15894번 : 수학은 체육과목 입니다 (0) | 2023.12.15 |
---|---|
[백준 / nodejs] 3009번 : 네 번째 (0) | 2023.12.12 |
[백준 / nodejs] 27323번 : 직사각형 (2) | 2023.12.07 |
[백준 / nodejs] 11653번 : 소인수분해 (2) | 2023.12.06 |
[백준 / nodejs] 2581번 : 소수 (1) | 2023.12.06 |
댓글