백준 알고리즘 문제 기록/기하: 직사각형과 삼각형
백준 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까지의 거리