ํฐ์คํ ๋ฆฌ ๋ทฐ
[Algorithm] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (์ ํด๋ฆฌ๋ ํธ์ ๋ฒ)
_๋ณด๋ฆ 2021. 4. 5. 23:10๐ฅ ๋ฌธ์
๋ ์๋ฅผ ์
๋ ฅ๋ฐ์ ๋ ์์ ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด ๋ณด์ธ์.
๋ฐฐ์ด์ ๋งจ ์์ ์ต๋๊ณต์ฝ์, ๊ทธ๋ค์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๋ฃ์ด ๋ฐํํ๋ฉด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ ์ 3, 12์ ์ต๋๊ณต์ฝ์๋ 3, ์ต์๊ณต๋ฐฐ์๋ 12์ด๋ฏ๋ก solution(3, 12)๋ [3, 12]๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค.
๐ค ํ์ด ๋ฐฉ๋ฒ
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ผ๋ก ์ต๋๊ณต์ฝ์ ๊ตฌํ๊ธฐ
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ 2๊ฐ์ ์์ฐ์์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
2๊ฐ์ ์์ฐ์ n, m์ ๋ํด์ n๋ฅผ m๋ก ๋๋ ๋๋จธ์ง๋ฅผ r์ด๋ผ ํ๋ฉด, n๊ณผ m์ ์ต๋๊ณต์ฝ์๋ m๊ณผ r์ ์ต๋๊ณต์ฝ์์ ๊ฐ๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ m์ r๋ก ๋๋ ๋๋จธ์ง r'๋ฅผ ๊ตฌํ๊ณ , ๋ค์ r์ r'๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ๋๋จธ์ง๊ฐ 0์ด ๋์์ ๋ ๋๋๋ ์๊ฐ n๊ณผ m์ ์ต๋๊ณต์ฝ์์ด๋ค.
- 1071๊ณผ 1029์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ฉด,
- 1071 % 1029 = 42
- 1029 % 42 = 21
- 42 % 21 = 0
๋ฐ๋ผ์, ์ต๋๊ณต์ฝ์๋ 21
- 78696๊ณผ 19332์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ฉด,
- 78696 % 19332 = 1368
- 19332 % 1368 = 180
- 1368 % 180 = 72
- 180 % 72 = 36
- 72 % 36 = 0
๋ฐ๋ผ์, ์ต๋๊ณต์ฝ์๋ 36
์ต์๊ณต๋ฐฐ์ ๊ตฌํ๊ธฐ
n๊ณผ m์ ์ต์๊ณต๋ฐฐ์๋ n๊ณผ m์ ๊ณฑํ ์๋ฅผ ์ต๋๊ณต์ฝ์๋ก ๋๋๋ฉด ๊ตฌํ ์ ์๋ค.
์์ผ๋ก ํํํ๋ฉด ์ต์๊ณต๋ฐฐ์ = n * m / ์ต๋๊ณต์ฝ์
์ด๋ค.
๐ฉ๐ป๐ป Swift Code
func solution(_ n:Int, _ m:Int) -> [Int] {
var gcd = 0
var lcm = 0
var num1 = max(n, m)
var num2 = min(n, m)
var r = num1 % num2
while num1 % num2 != 0 {
r = num1 % num2
num1 = num2
num2 = r
}
gcd = num2
lcm = n * m / gcd
return [gcd, lcm]
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ์ฒด์ก๋ณต (ํ์๋ฒ(Greedy)) (0) | 2021.04.16 |
---|---|
[Algorithm] [์นด์นด์ค ์ธํด] ํคํจ๋ ๋๋ฅด๊ธฐ (abs()) (0) | 2021.04.06 |
[Algorithm] ์์ ์ฐพ๊ธฐ (์๋ผํ ์คํ ๋ค์ค์ ์ฒด) (0) | 2021.04.05 |
[Algorithm] N์ผ๋ก ํํ (๊น์ด ์ฐ์ ํ์(DFS)) (0) | 2021.03.19 |
[Algorithm] ๋๋จธ์ง ํ ์ (ternary(?:), XOR(^), map) (0) | 2021.03.19 |
- Total
- Today
- Yesterday
- ๋ฌ๋ ฅ
- IOS
- Firebase
- ์ต๋๊ณต์ฝ์
- DFS
- ๊น์ด ์ฐ์ ํ์
- map
- TIL
- ์๋กํ ์คํ ๋ค์ค์ ์ฒด
- ๋ณ์ก
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- SWIFT
- Baekjoon
- ์ต์๊ณต๋ฐฐ์
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
- Kakao
- ternary
- sql
- mysql
- java
- abs()
- Git
- iTunes Search API
- BOJ
- compactMap
- UISearchController
- Algorithm
- calendar
- programmers
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |