Algorithm/Javascript

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

보라해바라기 2023. 9. 19. 10:34
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