Swift Data Structure And Algorithm/Basic Number Theory

fmttalpha

youngjaeLee1026 2022. 3. 8. 22:45

1. ๋ฌธ์ œ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 22 29 11

2. ์ž…์ถœ๋ ฅ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 22 29 31

3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 22 29 57

4. ๋ฌธ์ œ ์„ค๊ณ„

  1. ์‹œ์ž‘๊ณผ ๋์€ 1๋กœ ๊ณ ์ •๋˜์–ด ์žˆ๊ณ , n - 1, n, n + 1๋กœ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด๊ณผ x๋ถ€ํ„ฐ y๋กœ ์ตœ์†Œํ•œ์˜ ์ด๋™ํšŸ์ˆ˜ ์กฐ๊ฑด์„ ๋ชจ๋‘ ๋งŒ์กฑํ•ด์•ผํ•จ
  2. ๊ทœ์น™์„ ์ฐพ์•„์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด์ง€๋งŒ, ๊ทœ์น™์„ ์ฐพ๋Š” ๊ฒƒ์ด ๋งค์šฐ ๊นŒ๋‹ค๋กœ์›€
  3. y - x(๋‘ ์ง€์ ์˜ ๊ฑฐ๋ฆฌ)๊ฐ€ 1์ด๊ฑฐ๋‚˜ 2๋ฉด ์‹œ์ž‘๊ณผ ๋์ด 1๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ๊ฐ๊ฐ 1๊ณผ 2๊ฐ€ ์ตœ์†Œ ์ด๋™ํšŸ์ˆ˜
  4. ๋‘ ์ง€์ ์˜ ๊ฑฐ๋ฆฌ๊ฐ€ 3์ด์ƒ์ธ ๊ฒฝ์šฐ๋ถ€ํ„ฐ ์ง์ ‘ ์†์œผ๋กœ ์จ๋‚ด๋ ค๊ฐ€ ๋ณด๋ฉด, ๊ฐ ์ด๋™ํšŸ์ˆ˜์— ๋Œ€ํ•œ y-x(๋‘ ์ง€์ ์˜ ๊ฑฐ๋ฆฌ)์˜ ์ตœ๋Œ€๊ฐ’(maxDistance)๋“ค์„ ๋น„๊ตํ•จ์œผ๋กœ์จ ๊ทœ์น™์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ
  5. 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