1. ๋ฌธ์
2. ์ ์ถ๋ ฅ
3. ์ ์ถ๋ ฅ ์์
4. ๋ฌธ์ ์ค๊ณ
- ์์๊ณผ ๋์ 1๋ก ๊ณ ์ ๋์ด ์๊ณ , n - 1, n, n + 1๋ก๋ง ์ด๋ํ ์ ์๋ ์กฐ๊ฑด๊ณผ x๋ถํฐ y๋ก ์ต์ํ์ ์ด๋ํ์ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํด์ผํจ
- ๊ท์น์ ์ฐพ์์ผ ํ๋ ๋ฌธ์ ์ด์ง๋ง, ๊ท์น์ ์ฐพ๋ ๊ฒ์ด ๋งค์ฐ ๊น๋ค๋ก์
- y - x(๋ ์ง์ ์ ๊ฑฐ๋ฆฌ)๊ฐ 1์ด๊ฑฐ๋ 2๋ฉด ์์๊ณผ ๋์ด 1๋ก ๊ณ ์ ๋์ด ์์ผ๋ฏ๋ก, ๊ฐ๊ฐ 1๊ณผ 2๊ฐ ์ต์ ์ด๋ํ์
- ๋ ์ง์ ์ ๊ฑฐ๋ฆฌ๊ฐ 3์ด์์ธ ๊ฒฝ์ฐ๋ถํฐ ์ง์ ์์ผ๋ก ์จ๋ด๋ ค๊ฐ ๋ณด๋ฉด, ๊ฐ ์ด๋ํ์์ ๋ํ y-x(๋ ์ง์ ์ ๊ฑฐ๋ฆฌ)์ ์ต๋๊ฐ(maxDistance)๋ค์ ๋น๊ตํจ์ผ๋ก์จ ๊ท์น์ ์ฐพ์ ์ ์์
- y - x(maxDistance)๊ฐ 4, 6, 9, 12์ผ ๋๋ฅผ ๊ธฐ์ ์ผ๋ก ์ด๋ํ์๊ฐ ์ฆ๊ฐํ๋ ๊ฒ์ ๋ณผ ์ ์๊ณ , ๊ทธ ์ฃผ๊ธฐ๊ฐ 2๋ฒ์ธ ๊ฒ์ ์ ์ ์์
5. ์ ์ฒด ์ฝ๋
//
// main.swift
// Fmttalpha
//
// Created by ์ด์์ฌ on 2022/03/08.
//MARK: - fmttalpha
//MARK: - Framework
import Foundation
//MARK: - Function
func solution() -> Void {
//MARK: - Input
guard let input = readLine()?.components(separatedBy: " ") else { return }
let x: Int = input.map { Int($0) }[0] ?? 0
let y: Int = input.map { Int($0) }[1] ?? 0
var moveCount: Int = 0
//MARK: - Process
if y - x == 1 {
moveCount = 1
} else if y - x == 2 {
moveCount = 2
} else {
// y - x >= 3
var maxDistance: Int = 2
var cycle: Int = 2
moveCount = 2
while y - x > maxDistance {
for _ in 0..<cycle {
if y - x <= maxDistance {
break
}
maxDistance += cycle
moveCount += 1
}
cycle += 1
}
}
//MARK: - Output
print(moveCount)
}
solution()
์ ์ฒด์ฝ๋๋ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
'Swift Data Structure And Algorithm > Basic Number Theory' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
chebyshevtheo (0) | 2022.03.08 |
---|---|
pfactorization (0) | 2022.03.08 |
streetree (0) | 2022.03.08 |
combinationzero (0) | 2022.03.08 |
combinationpascal (0) | 2022.03.08 |