[프로그래머스] 레벨1 220403

📝직사각형 별찍기

나의 풀이

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

다른사람의 풀이

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

repeat라는 함수를 알고 있었는데도 활용을 못한 점이 아쉽다.

📝x만큼 간격이 있는 n개의 숫자

나의 풀이

function solution(x, n) {
    const answer = [];
    let temp = 0;
    for(let i=0; i<n; i++) {
        temp += x;
        answer.push(temp);
    }
    return answer;
}

다른사람의 풀이

function solution(x, n) {
    var answer = [];
    for (let i = 1; i <= n; i++) {
        answer.push(x*i)
    }
    return answer;
}

있는 값을 활용하지 못하고 변수를 또 하나 만든 점이 아쉽다.

📝행렬의 덧셈

나의 풀이

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

다른사람의 풀이

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

역시나 주어진 값을 활용하지 못하고 변수를 하나 추가한 점이 아쉽다.

💎느낀 점

코테 준비는 작년에 파이썬으로 조금 하다가 말았었다. 그때도 사실 작정하고 한건 아니었고 알바가서 남는 시간에 심심해서 풀었던 것인데 진로를 정하고 나니 다시 파이썬을 공부하는게 부담이 되어서 자바스크립트로 코테 준비를 하기로 했다.
오랫만에 문제를 풀어보니 머리가 잘 안돌아간다ㅠㅠ 틈틈히 문제 풀어볼걸, 그냥 놔버리고 있었던 점이 조금 후회된다. 그리고 전반적으로 있는 변수를 활용하지 못하고 자꾸 변수를 추가하려고 하는 부분이 아쉽다. 쉽게만 생각하려고 하는 것 같다. 변수 사용을 최대한 줄이도록 고민을 많이 해야겠다.

좋은 웹페이지 즐겨찾기