๋ฐ์ํ
ํ๋ก๊ทธ๋๋จธ์ค LV.0 ๋ชจ์
๋ถ์์ ๋ง์
๋ฌธ์ ์ค๋ช
์ฒซ ๋ฒ์งธ ๋ถ์์ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ๋ปํ๋ denum1, num1, ๋ ๋ฒ์งธ ๋ถ์์ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ๋ปํ๋ denum2, num2๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค.
๋ ๋ถ์๋ฅผ ๋ํ ๊ฐ์ ๊ธฐ์ฝ ๋ถ์๋ก ๋ํ๋์ ๋ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ์์๋๋ก ๋ด์ ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์.
์ ํ ์ฌํญ
- 0 <denum1, num1, denum2, num2 < 1,000
์ ์ถ๋ ฅ ์
denum1 | num1 | denum2 | num2 | result |
1 | 2 | 3 | 4 | [5, 4] |
9 | 2 | 1 | 3 | [29, 6] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- 1 / 2 + 3 / 4 = 5 / 4์ ๋๋ค. ๋ฐ๋ผ์ [5, 4]๋ฅผ return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 9 / 2 + 1 / 3 = 29 / 6์ ๋๋ค. ๋ฐ๋ผ์ [29, 6]์ return ํฉ๋๋ค.
์ ์ถ
import Foundation
func gcd(_ n1: Int, _ n2: Int) -> Int{
if(n2 == 0) {return n1}
else {return gcd(n2, n1 % n2)}
}
func solution(_ denum1:Int, _ num1:Int, _ denum2:Int, _ num2:Int) -> [Int] {
let num = num1 * num2
let de = (denum1 * num2) + (denum2 * num1)
let g = gcd(num, de)
return [de/g, num/g]
}
๋ถ๋ชจ๋ ๋ ๋ถ๋ชจ(num1, num2)๋ฅผ ๊ณฑํ์ฌ ๊ตฌํ๊ณ , ๋ถ์๋ ๋ถ์์ ์๋ ๋ถ๋ชจ๋ฅผ ๊ณฑํ ํ ๋ํด์ค๋ค.
gcd ํจ์๋ฅผ ๋ง๋ค์ด ๋ถ๋ชจ์ ๋ถ์์ "์ต๋ ๊ณต์ฝ์"๋ฅผ ๊ตฌํ๋ค.
๋ถ๋ชจ์ ๋ถ์๋ฅผ ์ต๋ ๊ณต์ฝ์๋ก ๋๋ ๊ฐ์ ๋ฐํํ๋ค.
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.0 ์ค์๊ฐ ๊ตฌํ๊ธฐ (0) | 2022.11.30 |
---|---|
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.0 ๋ฐฐ์ด ๋๋ฐฐ ๋ง๋ค๊ธฐ (0) | 2022.11.29 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.0 ์ซ์ ๋น๊ตํ๊ธฐ (0) | 2022.11.29 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.0 ๋ ์์ ๋๋์ (0) | 2022.11.29 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.0 ๋๋จธ์ง ๊ตฌํ๊ธฐ (0) | 2022.11.29 |