[프로그래머스] 230919 코딩테스트 연습

    SMALL

    1. 행렬의 덧셈

    function solution(arr1, arr2) {
        var answer = [];
        let len1 = arr1.length;
        let len2 = arr1[0].length;
        let arr = [];
        
        for(let i=0; i<len1; i++) {
            for (let j=0; j<len2; j++) {
                arr.push(arr1[i][j] + arr2[i][j]);
            }
            answer.push(arr);
            arr = [];
        }
        
        return answer;
    }

     

    2. 직사각형 별찍기

    process.stdin.setEncoding('utf8');
    process.stdin.on('data', data => {
        const n = data.split(" ");
        const a = Number(n[0]), b = Number(n[1]);
        
        for(let i=0; i<b; i++) {
            console.log("*".repeat(a));
        }
    });

     

    3. 최대공약수와 최소공배수

    // 유클리드 호제법 사용
    
    function solution(n, m) {
        var answer = [];
        let maxNum = Math.max(n,m);
        let minNum = Math.min(n,m);
        let maxDividedNum = 0;
        
        for(let i=1; i<=minNum; i++) {
            if(maxNum%i==0 && minNum%i==0) {
                maxDividedNum = i;
            }
        }
        
        answer.push(maxDividedNum); // 최대공약수
        answer.push(n*m/maxDividedNum); // 최소공배수
        
        return answer;
    }

     

     

    728x90

    댓글