MUKER_DEV with iOS

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ถ„์ˆ˜์˜ ๋ง์…ˆ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/programmers

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ถ„์ˆ˜์˜ ๋ง์…ˆ

MUKER 2022. 12. 20. 15:09
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


๋ฌธ์ œํ’€์ด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด์™€
๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด๋กœ ๋‚˜๋ˆ„์–ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด

import Foundation

// ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜
func gcd(_ a: Int, _ b: Int) -> Int {
    if a % b == 0 {
        return b
    }
    return gcd(b, a % b)
}

func solution(_ denum1:Int, _ num1:Int, _ denum2:Int, _ num2:Int) -> [Int] {
    var denominator = num1 * num2
    var numerator = denum1 * num2 + denum2 * num1
    var gcdValue = gcd(denominator, numerator)
    var result = [numerator / gcdValue, denominator / gcdValue]
    return result
}
  • ๋‹ต์ด ๋‚˜์˜ค๊ธฐ๊นŒ์ง€ ๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ์žˆ์—ˆ๋‹ค.
  • ์•„๋ž˜์— ์žˆ๋Š” ์ฝ”๋“œ๋Š” ๋จผ์ € ์ œ์ถœํ–ˆ๋˜ ์˜ค๋‹ต ์ฝ”๋“œ์ด๋‹ค.
// ์ฃผ์˜!! ์˜ค๋‹ต ์ฝ”๋“œ
import Foundation

// ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜
func gcd(_ a: Int, _ b: Int) -> Int {
    if a % b == 0 {
        return b
    }
    return gcd(b, a % b)
}

// ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜
func lcm(_ a: Int, _ b: Int) -> Int {
    return a * b / gcd(a, b)
}

func solution(_ denum1:Int, _ num1:Int, _ denum2:Int, _ num2:Int) -> [Int] {
    var denominator = lcm(num1, num2)
    var numerator = ((denominator / num1) * denum1) + ((denominator / num2) * denum2)

    denominator = denominator / gcd(denominator, numerator)
    numerator = numerator / gcd(denominator, numerator)

    return [numerator, denominator]
}
  • ๋ถ„๋ชจ๋ฅผ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋กœ ๊ตฌํ•ด์ค€๋‹ค์Œ, ๋ถ„๋ชจ์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๋น„๊ตํ•ด, ๋ถ„๋ชจ๊ฐ€ ์˜ค๋ฅธ ๋งŒํผ ๋ถ„์ž์— ๊ณฑํ•˜๊ณ , ๋ถ„์ž๋ฅผ ๋” ํ•ด์คฌ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์•ฝ๋ถ„์„ ํ•˜๊ณ  ๋งˆ๋ฌด๋ฆฌ๋ฅผ ํ–ˆ์ง€๋งŒ, 40%๋กœ์˜ ์ •๋‹ต๋ฐ–์— ๋‚˜์˜ค์ง€ ๋ชปํ–ˆ๋‹ค.
  • ๋‹ค์‹œ ์ •๋‹ต ์ฝ”๋“œ๋กœ ๋Œ์•„์™€ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ๋ถ„๋ชจ๋ฅผ ์„œ๋กœ ๊ณฑํ•˜๊ณ  ๋ถ„์ž๋„ ์ƒ๋Œ€์˜ ๋ถ„๋ชจ๋ฅผ ๊ณฑํ•˜๋Š” ์‹์œผ๋กœ ๋” ํ•ด์คฌ๋‹ค.
  • ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ธฐ์•ฝ ๋ถ„์ˆ˜๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๋‚˜๋ˆ ์ฃผ์—ˆ๊ณ , 100%๋กœ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค.