๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

[Javascript/PGS] Lv.0 : ์ด์ง„์ˆ˜ ๋”ํ•˜๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

 

https://school.programmers.co.kr/learn/courses/30/lessons/120885#

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 


 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ ๋ฌธ์ œ

 

๋กœ์ง ์ˆœ์„œ

1. ๊ธธ์ด ๋น„๊ต ํ›„ ์งง์€ ์ˆ˜์˜ ์•ž๋ถ€๋ถ„์— 0 ์ฑ„์›Œ๋„ฃ๊ธฐ

2. ๋๋ถ€๋ถ„๋ถ€ํ„ฐ ๋น„๊ต, ๋ณ€์ˆ˜ plus๋ฅผ ์ด์šฉํ•œ ๋ฐ˜์˜ฌ๋ฆผ

  - ์ด ๋•Œ, plus๋Š” ํ•ญ์ƒ 0 ํ˜น์€ 1

  - ๋‘˜๋‹ค 1์ผ ๋•Œ, ๋‘˜๋‹ค 0์ผ ๋•Œ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ 0๊ณผ 1์ผ ๋•Œ๋ฅผ ๋‚˜๋ˆ„์–ด ์ƒ๊ฐ

 

๋‚˜์˜ ํ’€์ด

function solution(bin1, bin2) {
    let answer = '';
    if(bin1.length !== bin2.length){
        let m = Math.abs(bin2.length - bin1.length);
        if(bin1.length < bin2.length){
            for(let i=0; i<m; ++i){
                bin1 = '0'+bin1;
            }
        }
        else {
            for(let i=0; i<m; ++i){
                bin2 = '0'+bin2;
            }
        }
    }
    // console.log(bin1, bin2);
    let plus = 0;
    let len = bin1.length;
    let state = 0;
    for(let i=len-1; i>=0; --i){
        console.log(i);
        if(bin1[i]=='1' && bin2[i]=='1'){
            answer = String(0+plus) + answer;
            plus = 1;
        }
        else if(bin1[i]=='0' && bin2[i]=='0'){
            answer = String(plus) + answer;
            plus = 0;
        }
        else{
            if(plus===0){
                answer = '1'+answer;
            }
            else{
                answer = '0'+answer;
            }
        }
        console.log(answer);
    }
    if(plus == 1) answer = '1'+answer;
    return answer;
}

728x90
๋ฐ˜์‘ํ˜•