๋ฐฑ์ค€ - ๋“ฑ์ˆ˜ ๋ฉ”๊ธฐ๊ธฐ(Swift)

2022. 11. 7. 13:23ใ†Algorithm

๋ฐฑ์ค€ - ๋“ฑ์ˆ˜ ๋ฉ”๊ธฐ๊ธฐ(Swift)

 

 

 ๋ฌธ์ œ ์„ค๋ช…

 

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

 

2012๋ฒˆ: ๋“ฑ์ˆ˜ ๋งค๊ธฐ๊ธฐ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 500,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ์‚ฌ๋žŒ์˜ ์˜ˆ์ƒ ๋“ฑ์ˆ˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. ์˜ˆ์ƒ ๋“ฑ์ˆ˜๋Š” 500,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

 

 

 

 ๋‚˜์˜ ํ’€์ด

 

์˜ˆ์ƒํ–ˆ๋˜ ๋“ฑ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋’ค 1๋“ฑ๋ถ€ํ„ฐ ๋๋ฒˆํ˜ธ๊นŒ์ง€ ๋นผ์ฃผ๋ฉด ์ตœ์†Œ๊ฐ€ ๋œ๋‹ค.

 

import Foundation

let n = Int(readLine()!)!
var arr = [Int]()
for _ in 0..<n {
    arr.append(Int(readLine()!)!)
}

arr.sort(by: <)
print((1..<arr.count+1).map{abs(arr[$0-1]-$0)}.reduce(0, +))