Algorithm/문제풀이_백준
Swift) 백준 1085번 (직사각형에서 탈출)
Joahnee
2021. 8. 15. 09:25
요구능력 : 덧셈, 뺄셈
코드설명 :
문제에서 말하는 경계선은 (x, y)에서 직사각형의 변에 최소한으로 닿을수 있는 거리를 물어본것이다.
그림을 보면 빨간화살표를 말하는 것이다.
(0, 0)에서 (x, y) 와 (x, y)에서 (w, h)의 x값과 y값 각각의 거리를 구해주면 된다.
그렇다면, 구해야 할 값은 x, y, (w - x), (h - y) 가 된다.
나는 여기서 arr[2]와 arr[3]에 구해야되는 (w - x), (h - y)를 미리 계산하여 집어넣었다.
그리고 for문을 실행하여 각각 비교하고 가장 작은값을 temp에 저장해줬다.
후기 : 쉬웠다.
var arr = readLine()!.split(separator: " ").map{Int($0)!}
arr[2] = arr[2] - arr[0]
arr[3] = arr[3] - arr[1]
var temp = arr[0]
for i in 0..<arr.count {
if temp > arr[i] {
temp = arr[i]
}
}
print("\(temp)")