2022. 10. 26. 23:30ใAlgorithm
๋ฐฑ์ค - ์๋ฆฌ๊ณต ํญ์น(Swift)
๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/1449
๋์ ํ์ด
๊ฐ์ธ์ ์ผ๋ก ์ดํดํ๊ธฐ ํ๋ค์๋ ๋ฌธ์ ์ด๋ค.
์์ชฝ 0.5๋ผ๋ ์กฐ๊ฑด ๋๋ฌธ์ธ๊ฑฐ๊ฐ์๋ฐ ํด์์ ํ๋ฉด ์ด๋ ๋ค.
3 5 7 9์ ํ์ดํ๊ฐ ๊ณ ์ฅ์ด ๋ฌ์๋ ํ ์ดํ์ ๊ธธ์ด๊ฐ 3์ด๋ผ๋ฉด ๋งจ ์์ 3๋ถํฐ 5๊น์ง ๋ฌถ์ ์ ์๋ค.
๋ํ ์ผํ๊ฒ ์ดํด๋ณด์๋ฉด 2.5 | 3 | 3.5 | 4 | 4.5 | 5 | 5.5 ์์ 2.5~3.5์ ํ๊ฐ 3.5~4.5์ ํ๊ฐ 4.5~5.5์ ํ๊ฐํด์ 3์ ๊ธธ์ด๋ก 3์์ 5๊น์ง ์ปค๋ฒ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ด๋ค. ์ฆ ํ ์ดํ์ ๊ธธ์ด-1๋งํผ์ ์ปค๋ฒํ ์ ์๊ฒ ๋๋ค. ์ด๊ฒ ๋ฌธ์ ์ ํด์์ด๋ค.
์๋ ํ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
3 5 9 10์ ํ์ดํ๊ฐ ๊ณ ์ฅ๋ฌ์๋ ํ ์ดํ์ ๊ธธ์ด๊ฐ 4๋ผ๋ฉด 3์์ 6๊น์ง๋ ์ปค๋ฒ๊ฐ ๊ฐ๋ฅํ๋ค. (์์์ ์ธ๊ธ) ์ฆ ์ปค๋ฒ๊ฐ ๋ถ๊ฐ๋ฅํ ์ซ์๊ฐ ์์๋ ์นด์ดํธ๋ฅผ ์ฆ๊ฐ์ํค๋ฉด ๋๋ค. ์ฌ๊ธฐ์ ์ปค๋ฒ๋ ์๋ก ์์ํ๋ ์ ์์ ๋ค์ ๋ฆฌ์ ํด์ค์ผํ๋ค.
import Foundation
let nl = readLine()!.components(separatedBy:" ").map{Int($0)!}
let n = nl[0], l = nl[1]
var pipes = readLine()!.components(separatedBy:" ").map{Int($0)!}
var cnt = 0
pipes.sort(by: <)
var cover = 0
for pipe in pipes {
if pipe > cover {
cnt += 1
cover = pipe + l - 1
}
}
print(cnt)
ํผ๋๋ฐฑ
์ฒ์์๋ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ์๊ณผ ๋ค์ ์์์ฐจ์ด๊ฐ 1๋ง ๋๋ฉด ๋ฌถ์ด์ฃผ๋ ๊ฑด๊ฐ ์ถ์๋๋ฐ ์๋์๋ค.(์ ์ด๋ ๊ฒ ์ดํดํ์๊น ์ถ์,,)
๊ทธ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ฉด ์๊ฐ๋ณด๋ค ์์ ํ์ ๋น์ทํ ๋ถ๋ฅ์ ๋ฌธ์ ๊ฐ ๋ง์ ๊ฒ ๊ฐ๋ค. ์ ๊ฐ์ ๊ฒฝ์ฐ pipe์ ์ฒด์ ๋ํด cover์ ๋น๊ตํด์ค๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค - ์ ์ธ(Swift) (1) | 2022.10.27 |
---|---|
๋ฐฑ์ค - ํ๋ ฌ(Swift) (0) | 2022.10.27 |
๋ฐฑ์ค - ๋ฌธ์ ๊ฒ์(Swift) (0) | 2022.10.26 |
๋ฐฑ์ค - ์ ๋ฌถ๊ธฐ(Swift) (0) | 2022.10.25 |
๋ฐฑ์ค - ๊ธฐํ์ค(Swift) (0) | 2022.10.25 |