Swift Data Structure And Algorithm/Basic Number Theory

fractionsum

youngjaeLee1026 2022. 3. 8. 21:48

1. ๋ฌธ์ œ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 21 45 08

2. ์ž…์ถœ๋ ฅ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 21 45 24

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

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 21 45 39

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

  1. ๋จผ์ € ๊ฐ ๋ถ„์ž ๋ถ„๋ชจ๋ฅผ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋กœ ๋‚˜๋ˆˆ ํ›„, ๋‘ ๋ถ„๋ชจ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๊ฐ€ ๋‘ ๋ถ„์ˆ˜์˜ ํ•ฉ ๋ถ„๋ชจ๊ฐ€ ๋˜๊ณ , ๋‘ ๋ถ„๋ชจ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ฐ ๋ถ„๋ชจ๋กœ ๋‚˜๋ˆˆ ๋ชซ์œผ๋กœ ๊ฐ ๋ถ„์ž์— ๊ณฑํ•˜์—ฌ ๋”ํ•จ์œผ๋กœ์จ ๋” ์ด์ƒ ์•ฝ๋ถ„ ๋˜์ง€ ์•Š๋Š” ๋‘ ์ž์—ฐ์ˆ˜ ๋ถ„์ˆ˜์˜ ํ•ฉ ์ฆ‰, ๊ธฐ์•ฝ๋ถ„์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ

5. ์ „์ฒด ์ฝ”๋“œ

//
//  main.swift
//  FractionSum
//
//  Created by ์ด์˜์žฌ on 2022/03/08.
//MARK: - fractionsum

//MARK: - Framework
import Foundation

//MARK: - Function
func getGCD(_ A: Int, _ B: Int) -> Int {
    return A % B == 0 ? B : getGCD(B, A % B)
}

func getLCM(_ A: Int, _ B: Int) -> Int {
    return A * B / getGCD(A, B)
}

func solution() -> Void {
    //MARK: - Input
    guard let inputOne = readLine()?.components(separatedBy: " ") else { return }
    guard let inputTwo = readLine()?.components(separatedBy: " ") else { return }
    var childOne: Int = inputOne.map { Int($0) }[0] ?? 0
    var parentOne: Int = inputOne.map { Int($0) }[1] ?? 0
    var childTwo: Int = inputTwo.map { Int($0) }[0] ?? 0
    var parentTwo: Int = inputTwo.map { Int($0) }[1] ?? 0
    var gcd: Int = 0
    var lcm: Int = 0
    var resultChild: Int = 0
    var resultParent: Int = 0
    
    //MARK: - Process
    gcd = getGCD(childOne, parentOne)
    childOne /= gcd
    parentOne /= gcd
    
    gcd = getGCD(childTwo, parentTwo)
    childTwo /= gcd
    parentTwo /= gcd
    
    lcm = getLCM(parentOne, parentTwo)
    resultChild = childOne * (lcm / parentOne) + childTwo * (lcm / parentTwo)
    resultParent = lcm
    
    //MARK: - Output
    print("\(resultChild) \(resultParent)")
}
solution()

 

์ „์ฒด์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

'Swift Data Structure And Algorithm > Basic Number Theory' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

beehive  (0) 2022.03.08
findprime  (0) 2022.03.08
lcm  (0) 2022.03.08
PROSJEK  (0) 2022.03.08
fibonacci  (0) 2022.03.08