ํ๋ก๊ทธ๋๋จธ์ค Lv0 ๋ถ์์ ๋ง์


[์ถ์ฒ] ํ๋ก๊ทธ๋๋จธ์ค https://school.programmers.co.kr/learn/courses/30/lessons/120808
function solution(denum1, num1, denum2, num2) {
var answer = [];
// 1. ํต๋ถํ๊ธฐ
const denum = denum1 * num2 + denum2 * num1;
const num = num1 * num2;
// 2. ๋ถ์, ๋ถ๋ชจ์ ์ต๋๊ณต์ฝ์๋ก ๋๋๊ธฐ
// 2-1. ๋ถ์, ๋ถ๋ชจ ์ค ์์ ์ ๊ตฌํ๊ธฐ
let minNumber;
if(denum < num){
minNumber = denum;
} else{
minNumber = num;
}
// 2-2. ๋ถ์, ๋ถ๋ชจ๋ฅผ ์์ ์๋ก ๋๋์ด ๋ณด๊ธฐ
while(true){
if(denum % minNumber === 0){
if(num % minNumber === 0){
// 2-2-1. ๋๋ค ๋๋์ด ๋จ์ด์ง๋ฉด minNumber๊ฐ ์ต๋๊ณต์ฝ์
return [denum/minNumber, num/minNumber]
}
}
// 2-2-2. ๋๋์ด ๋จ์ด์ง์ง ์์ผ๋ฉด, miNumber๋ฅผ 1 ์ค์ด๊ณ 2-2๋ก ๋์๊ฐ๊ธฐ
minNumber = minNumber -1;
}
return answer;
}
[์ถ์ฒ] ๋ผ๋งค๊ฐ๋ฐ์ https://youtu.be/uJ4E_1pvI9c
ํผ์ ํ์์ ๋ ๋ต์ ๋ง์ถ์ง ๋ชปํด์ ๋ผ๋งค๊ฐ๋ฐ์ ๋์ ํ์ด๋ฅผ ์ ๋ฆฌํด๋ณด์๋ค. ํต๋ถํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์์ง๋ง ์ด๋ฅผ ์์ผ๋ก ๋ํ๋ผ ์๊ฐ์ ํ์ง ๋ชปํ๋ค. ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ ๊ณผ์ ๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ์ซ์๊ฐ ์ฃผ์ด์ง๋ฉด ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ ์ค์ ์์์ง๋ง, ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ๋๋์ด ์์์ผ๋ก ๋ํ๋ผ ์ค์ ๋ชฐ๋๋ค. ํ ๋ฒ์ ๊ณต์์ ์ ๋ํ๋ ค๊ณ ํ์ง ๋ง๊ณ , ์๊ฒ ์๊ฒ ์ชผ๊ฐ์ ๋จ์ํ๊ฒ ๋ํ๋ด๋ ์ฐ์ต์ ๋ง์ด ํด๋ด์ผ๊ฒ ๋ค.
์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ ์ ์๊ฒ ์ง๋ง ์ ํ์ด์์๋ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ๋ ์ ์ค์ ์์ ์๋ก ๋๋์ด ๋ณธ๋ค. ๋๋์ด ๋จ์ด์ง๋ฉด ๊ทธ ์๊ฐ ์ต๋๊ณต์ฝ์์ด๊ณ , ๋๋์ด ๋จ์ด์ง์ง ์์ผ๋ฉด 1์ฉ ์ค์ฌ๊ฐ๋ฉด์ ๋๋์ด ๋จ์ด์ง๋์ง๋ฅผ ํ์ธํ๋ค. ๋๋์ด ๋จ์ด์ง๋ค๋ ๊ฒ์ ๋๋จธ์ง๊ฐ 0์ด๋ ๋ป์ด๊ณ , % ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ๋ฐ๋ณต๋๋ ๊ณผ์ ์ while๋ฌธ์ ์ฌ์ฉํ๊ณ , while๋ฌธ์ ์กฐ๊ฑด์์๋ true๋ฅผ ๋ฃ์ด ํญ์ ์คํ๋๋๋ก ํ๋ค. 1๋ก๋ ๋ฌด์กฐ๊ฑด ๋๋์ด ๋จ์ด์ง๋๊น ์ธ์ ๊ฐ๋ return์ด ์คํ๋๊ณ while๋ฌธ์ ์ข ๋ฃ๋๋ค.