Where who wants to meet someone

백준 Swift [1085] 직사각형에서 탈출 본문

백준 알고리즘 문제 기록/기하: 직사각형과 삼각형

백준 Swift [1085] 직사각형에서 탈출

Lust3r 2023. 7. 2. 15:54
728x90

난이도

브론즈 III

 

문제

https://www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램

www.acmicpc.net

 

내 답안

let input = readLine()!.split(separator: " ").map { Int($0)! }
print([abs(0 - input[0]), abs(input[0] - input[2]), abs(0 - input[1]), abs(input[1] - input[3])].min()!)

- x와 y가 각각 0으로 가는 것이 빠른지, 아니면 w, h까지 가는 것이 빠른지를 찾고, 그중에서도 더 짧은 것을 출력하는 문제

- 부호가 상관 없기 때문에 절대값인 abs를 사용하였고, 배열에는 순서대로 다음과 같은 값이 들어간다

  - 0부터 x까지의 거리

  - x부터 w까지의 거리

  - 0부터 y까지의 거리

  - y부터 h까지의 거리