์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ํ๋ก๊ทธ๋๋ฐ์ด๋
- .map()
- .split()
- ๊ตฌ๋ฌธ๊ณผ ์๋ฏธ
- ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์๋ฐฐ๊ฒฝ
- ES6 ๋ธ๋ผ์ฐ์ ์ง์ ํํฉ
- ์๊ณ ๋ฆฌ์ฆ
- Math.min
- a && b
- ์ด๋ ค์ด๋ฐใ ใ
- ๋ฐฐ์ด ์ต์๊ฐ
- ์ผํญ์ฐ์ฐ์
- ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ง
- arr.push()
- ์๋ฆ๋๋ ์๊ณ ๋ฆฌ์ฆ
- Ajax๋?
- for๋ฐ๋ณต๋ฌธ
- Promise.all()
- ์๋ฐ์คํฌ๋ฆฝํธ
- !x.includes()
- ๊ฐ์ฐ์ค์ ๊ณต์
- ํ๋ ฌ...
- JavaScript
- array.reduce()
- async-await
- ์์ค๋ฆ~
- ์๋ฐ์คํฌ๋ฆฝํธ์ ECMAScript
- ํ๋ก๊ทธ๋๋จธ์ค ๊ณต์ ์ฐ์ฑ
- for๋ฌธ
- ํ๋ก๊ทธ๋๋จธ์ค
- Today
- Total
Ming's develop story
ํ๋ก๊ทธ๋๋จธ์ค(programmers) - ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์(์ฝ๋ฉํ ์คํธ ์ฐ์ต) ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋จธ์ค(programmers) - ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์(์ฝ๋ฉํ ์คํธ ์ฐ์ต)
Ming 2022. 2. 16. 22:24์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์

ํ์ด
function solution(n, m) {
var answer = [];
let a = n;
let b = m;
let x;
// ๋ ์๊ฐ ๊ฐ์๊ฒฝ์ฐ
if (n === m) {
return [n, m];
}
// ์ต๋๊ณต์ฝ์
if (n > m) {
while (m > 0) {
let temp = m;
m = n % m;
n = temp;
}
answer.push(n);
//์ต์๊ณต๋ฐฐ์
let x = (a * b) / n;
answer.push(x);
} else if (m > n) {
while (n > 0) {
let temp = n;
n = m % n;
m = temp;
}
answer.push(m);
//์ต์๊ณต๋ฐฐ์
let x = (a * b) / m;
answer.push(x);
}
return answer;
}
์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด ๋ช๊ฐ์ง ์๋๋ฐ ๊ทธ์ค ์ดํด๋ง ํ๋ค๋ฉด ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ ์ ์๋ '์ ํด๋ฆฌ๋ ํธ์ ๋ฒ'์ด ์๋ค.
'์ ํด๋ฆฌ๋ ํธ์ ๋ฒ'์ด๋ ๋๋์ ๋ง ๋ฐ๋ณตํด์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ธ๋ฐ,
์๋ฅผ๋ค์ด, 0๋ณด๋ค ํฐ ๋๊ฐ์ ์์ฐ์ a, b๊ฐ ๊ฐ๊ฐ 6 ๊ณผ 4 ๋ผ๊ณ ํ๋ฉด b(์ฌ๊ธฐ์ ๋งํ๋ b๋ a๋ฅผ b๋ก ๋๋ ๋๋จธ์ง)๊ฐ 0 ๋ณด๋ค ํฌ๋ฉด ๊ณ์ํด์ ๋๋์ ์ ๋ฐ๋ณต์ํค๊ณ a๋ฅผ b๋ก ๋๋ด์๋ ๋๋จธ์ง๊ฐ 0์ด ๋์ค๋ ๋์ a ๊ฐ์ด ์ต๋๊ณต์ฝ์๊ฐ ๋๋๊ฒ์ด๋ค.
1. a = 6, b = 4 ๋ผ๋ฉด ๋๋จธ์ง๊ฐ 2 ์ด๊ณ ๊ทธ ๋ค์์ a = 4, b= 2๊ฐ ๋๋ค.
2. a = 4, b = 2 ๋ผ๋ฉด ๋๋จธ์ง๊ฐ 0 ์ด๊ณ a = 2, b = 0 ์ด๋ฏ๋ก
์ด ๋ ์์ฐ์์ ์ต๋๊ณต์ฝ์๋ 2๊ฐ ๋๋๊ฒ์ด๋ค.
์ฌ๊ธฐ์๋ ์ด๋ ํ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋ ์ด์ ๊ณ์ ๋ฃจํ๋ฌธ์ ๋๋ ค์ฃผ๊ธฐ ์ํด while๋ฌธ์ ์ฌ์ฉํ์๋ค.
๊ทธ ํ answer.push()๋ฅผ ํตํด ๋ฆฌํด๊ฐ์ ์ ์ฅ์ ํด์ค๋ค.
์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ง๋ง ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ต๋๊ณต์ฝ์์์ ๊ด๊ณ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค.
'์ต์๊ณต๋ฐฐ์ = 0๋ณด๋ค ํฐ ๋ ์์ ๊ณฑ / ๋ ์์ ์ต๋๊ณต์ฝ์' ๋ผ๋ ๊ณต์์ ์ด์ฉํ๋ฉด
์์๊ฐ์ด ์ฝ๊ฒ ์ต์๊ณต๋ฐฐ์๋ ๊ตฌํ ์ ์๋ค.
์์์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ ๋ ์์ฐ์ m ๊ณผ n ๊ฐ์ ๋ฐ๊ฟ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ด ๋๊ธฐ ์ ๋ฏธ๋ฆฌ m, n ๊ฐ์ ๊ฐ๊ฐ a, b์ ์ ์ฅํด์ค ๋ค ๋ฏธ๋ฆฌ ์ ์ธํด ๋ x์ ๋ด์ answer ๋ฐฐ์ด์ ๋ค์ ๋ฃ์ด์ค์ผ๋ก์จ ์ํ๋ [์ต๋๊ณต์ฝ์, ์ต์๊ณต๋ฐฐ์]์ ๋ฆฌํด๊ฐ์ ์ป์ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์๊ฐ ๊ฐ๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํด ๋จผ์ ์์์ ๊ฑธ๋ฌ์ฃผ์๋ค.
(๋ฐ๋ณต๋ฌธ ๋ฐ์ ์ ์กฐ๊ฑด์ ๋ฃ์ด์ฃผ๋ฉด ๋ถํ์ํ๊ฒ ๋ฐ๋ณต๋ฌธ์ด ์๋ํ๊ธฐ ๋๋ฌธ์ ํจ์จ์ฑ์ด ์์ข์ ๊ฒ์ด๋ผ ์์ํ๋ค)
๋ค๋ฅธ ์ฌ๋์ ํ์ด์ค ์ ๋ง ๊ฐํํ ์ฝ๋๊ฐ ์์ด ์ถ๊ฐ๋ก ์์ฑํด๋ณธ๋ค.
function solution(a, b) {
let x;
for(let ab = a * b; r = a % b; a = b, b = r){}
return [b, ab/b];
}
์ง์ง ๋๋ฌด ์๋ฆ๋์๋ค.
์ฒ์ ์ ์ฝ๋๋ฅผ ๋ดค์๋ ์ดํด๊ฐ ์๊ฐ for๋ฌธ์ ๋ช๊ฐ์ ๋ง์ ๋ค์ ๊ตฌ๊ธ๋ง์ ํด๋ณด์๋ค.
์ ์ฝ๋๋ก ์คํ ํด๋ดค์๋ ab๊ฐ ์ ์ธ์ด ์๋์ด์์ด์ let x; ๋ฐ์ let ab๋ฅผ ์ ์ธํด์คฌ๋๋ฐ๋
์ฌ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ๋์ด์ ๊ทธ๋ฐ์ง ์๋๋ฉด ์ฝ๋๊ฐ ์๋ฒฝํ์ง ์์๊ฑด์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ ์๋ํ์ง ์์๋ค.
ํ์ง๋ง ๋ด๊ฐ ์๋ฆ์ด ๋์๋ ๋ถ๋ถ์ ์ ์ฝ๋ ์์ฒด๊ฐ ์๋ for๋ฌธ์ ๋ํด ์ข ๋ ์์ธํ ์๊ฒ๋ผ์ ์ด๋ค.
for (์ด๊ธฐ์; ์กฐ๊ฑด์; ์ฆ๊ฐ์) {
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ ๋์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ์ ํ๋ ์คํ๋ฌธ;
}
for๋ฌธ์ ์์ ๊ฐ์๋ฐ ๊ตฌ์ฑํ๋ ์ด๊ธฐ์, ์กฐ๊ฑด์, ์ฆ๊ฐ์์ ๊ฐ๊ฐ ์๋ต๋ ์ ์์ผ๋ฉฐ ์ผํ ์ฐ์ฐ์(,)๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๊ฐ์ ์ด๊ธฐ์์ด๋ ์ฆ๊ฐ์์ ๋์์ ์ฌ์ฉํ ์๋ ์๋ค.
๊ทธ๋ ๋ค๋๊ฒ์ ์ฌ๊ธฐ์ ab๋ผ๋๊ฒ์ a * b ๋ผ๊ณ ์ด๊ธฐ์์์ ์ ์ธ์ ํด์ฃผ๊ณ ,
์กฐ๊ฑด์์ด ์ฐธ์ด๋ผ๋ฉด ์ ๋ฐ๋ณต๋ฌธ์ ๊ณ์ ์คํ์ด ๋๊ธฐ ๋๋ฌธ์ r์ด 0์ด ๋์ค๋ฉด false๊ฐ ๋ฐํ๋์ด ๋ฐ๋ณต๋ฌธ์ด ๋ฉ์ถ๊ธฐ ๋๋ฌธ์ 0์ด ๋์ฌ๋๊น์ง ๋๋๊ธฐ๊ฐ ๋ฐ๋ณต๋๋๋ก ์กฐ๊ฑด์์ ๋ฃ์ด์ฃผ์๊ณ ,
๋ง์ง๋ง์ผ๋ก ์ผํ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฆ๊ฐ์(๋ค์ for๋ฌธ์ด ๋ฐ๋๋ ์ ์ฉ์ด ๋ ๋ถ๋ถ, ๋ณดํต์ for๋ฌธ์์ i++์ฒ๋ผ ์ฆ๊ฐ ์ํด)์ a = b, b = r ์ด๋ผ๋ ์ฆ๊ฐ์์ ๋ฃ์ด์ฃผ์ด '์ ํด๋ฆฌ๋ ํธ์ ๋ฒ'์ ์์ฑ์์ผฐ๋ค.
๋๋ ๊ทธ์ ์ด๋๊น์ง for๋ฌธ์ for(let i = 0; i < arr.length; i++){}์ ๊ฐ์ด ์ฌ์ฉํด์๋๋ฐ ์ ๋ง ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก for๋ฌธ์ ์ธ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์๋ค.
์ด ๋ฌธ์ ๋ฅผ ํตํด ์ ํด์ง ํ์ ๊ฐํ์ง ๋ง๊ณ ๊ทธ ํ์ ๊นฐ ์ ์๋ ์ฌ๊ณ ๋ฅผ ํ๊ณ ์ถ๋ค๊ณ , ์ด๋ ํ ๊ฒ์ ๋ฐ๋ผ๋ณผ ๋ ๋ค์ํ ๊ด์ ์์ ๋ฐ๋ผ๋ณด๊ณ ์ถ๋ค๊ณ ๋๊ปด์ก๋ค.
'D E V E L O P ๐ป > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๊ณ ๋ฆฌ์ฆ - ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ (0) | 2022.05.24 |
---|---|
์๊ณ ๋ฆฌ์ฆ - ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (0) | 2022.05.24 |
์๊ณ ๋ฆฌ์ฆ - x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2022.05.23 |
ํ๋ก๊ทธ๋๋จธ์ค(programmers) - ์ฝ์์ ํฉ(์ฝ๋ฉํ ์คํธ ์ฐ์ต) (0) | 2022.02.17 |
ํ๋ก๊ทธ๋๋จธ์ค(programmers) - ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ(์ฝ๋ฉํ ์คํธ ์ฐ์ต) (0) | 2022.02.16 |