코딩테스트 문제풀이/프로그래머스

[프로그래머스] Level1 문제풀기 1

itaeiou 2022. 3. 8. 16:00
반응형

직사각형 별찍기

https://programmers.co.kr/learn/courses/30/lessons/12969

// 단순 for 문
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++) {
        let str = "";
        for(let j=0; j<a; j++) {
            str += "*";
        }
        console.log(str);
    }
});

// concat, repeat 함수 사용
process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
        
    let answer = "*";
    console.log(answer.repeat(a).concat('\n').repeat(b));
});

 

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

https://programmers.co.kr/learn/courses/30/lessons/12954

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

// array fill 함수 사용
function solution(x, n) {
    return Array(n).fill(x).map((v, i) => v * (i+1) );
}

 

행렬의 덧셈

https://programmers.co.kr/learn/courses/30/lessons/12950

function solution(arr1, arr2) {
    return arr1.map((v1,i1) => v1.map((v2, i2) => v2 + arr2[i1][i2]));
}

 

핸드폰 번호 가리기

https://programmers.co.kr/learn/courses/30/lessons/12948

function solution(phone_number) {
    var answer = '';
    for(let i=0; i<phone_number.length -4; i++) {
        answer += '*';
    }
    answer += phone_number.slice(-4);
    return answer;
}

 

약수의 합

https://programmers.co.kr/learn/courses/30/lessons/12928

function solution(n) {
    var answer = 0;
    
    for(let i=1; i<=n; i++) {
        if(n%i === 0) {
            answer += i
        }
    }
    
    return answer;
}
반응형