๋ฐฑ์ค - ํต๋๋ฌด ๊ฑด๋๋ฐ๊ธฐ
๋ฐฑ์ค - ํต๋๋ฌด ๊ฑด๋๋ฐ๊ธฐ
๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/11497
11497๋ฒ: ํต๋๋ฌด ๊ฑด๋๋ฐ๊ธฐ
๋จ๊ท๋ ํต๋๋ฌด๋ฅผ ์ธ์ ๋๊ณ ๊ฑด๋๋ฐ๊ธฐ๋ฅผ ์ข์ํ๋ค. ๊ทธ๋์ N๊ฐ์ ํต๋๋ฌด๋ฅผ ์ํ์ผ๋ก ์ธ์ ๋๊ณ ๋ฐ์ด๋๋ ค๊ณ ํ๋ค. ๋จ๊ท๋ ์ํ์ผ๋ก ์ธ์ ํ ์ ํต๋๋ฌด๋ก ๊ฑด๋๋ฐ๋๋ฐ, ์ด๋ ๊ฐ ์ธ์ ํ ํต๋๋ฌด์ ๋์ด
www.acmicpc.net
๋์ ํ์ด
๊ฐ์ธ์ ์ผ๋ก๋ ์กฐ๊ธ ์ด๋ ค์ ๋ ๋ฌธ์ ์ด๋ค. ๋ง์ฝ ์ํ์ด ์๋๋ผ๋ฉด ๊ฐ์ฅ ์ ๊ฒ ์ฐจ์ด๋๋ ๊ฒฝ์ฐ๋ ๊ทธ๋ฅ ์ ๋ ฌํ ์ํ์ด์ง๋ง ์ด ๋ฌธ์ ๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ ์ฒ์๊ณผ ๋์ด ์์ฒญ ์ฐจ์ด๋๊ฒ ๋๋ค.
2 4 5 7 9๋ฅผ ์ต์ ๋์ด๋๋ก ๋ฐฐ์นํ์๋ 2 5 9 7 4๊ฐ๋์ค๋๋ฐ ์ด๋ ๊ฐ์ด๋ฐ๋ก ๊ฐ์๋ก ์ปค์ง๋ ์ซ์๊ฐ ๋์ค๋ ๊ฒ์ ์ ์ ์๋ค.
์ฆ ๊ฐ์ฅ ํฐ ๊ฒ์ ๊ฐ์ด๋ฐ์ ๋๊ณ ์ฃผ๋ณ์ ์ ์ผ ์ ๊ฒ ์ฐจ์ด๋๋ ๊ฒ ๋๊ฐ๋ฅผ ๋ฐฐ์นํ๊ณ ๊ทธ๋ค์ ์ ๊ฒ ์ฐจ์ด๋๋ ๊ฒ ๋๊ฐ๋ฅผ ๋ฐฐ์นํ๋ฉด ์ต์๊ฐ ๋๋ค. ์๋ํ๋ฉด ์ด ๋ฐฉ๋ฒ์ด ์ฒ์๊ณผ ๋์ ๊ฐ์ฅ ์์์๋ก ๋ฐฐ์นํ๋ฉด์ ๊ฐ์ด๋ฐ๋ก ๊ฐ์๋ก ์ฌ๋ผ๊ฐ๊ณ ๊ฐ์ด๋ฐ์์ ๋์ผ๋ก๊ฐ์๋ก ๋ด๋ ค๊ฐ๊ฒํ๋ ์ต์ ์ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ์ด๋ ์ ๋ ฌํ ๊ฐ์์ ์ ์ผ ๋ง์ง๋ง ์๋ถํฐ -2์ฐจ์ด๋๋ ๊ฒ๋ค ์ค ๊ฐ์ฅ ํฐ๊ฒ์ ๋ต์ผ๋ก ๋์ผ๋ฉด ๋๋ค.
import Foundation
let tc = Int(readLine()!)!
for _ in 0..<tc {
let treeCnt = Int(readLine()!)!
var trees = readLine()!.components(separatedBy:" ").map{Int($0)!}
var result = 0
trees.sort(by: <)
for i in 2..<trees.count {
result = max(result, trees[i] - trees[i-2])
}
print(result)
}