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)")