๐Ÿ“š ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

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

rigood 2023. 1. 20. 16:35

[์ถœ์ฒ˜] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 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๋ฌธ์€ ์ข…๋ฃŒ๋œ๋‹ค.

 

 

๋Œ“๊ธ€์ˆ˜0