[JavaScript] 프로그래머스 Lv.1 문제 풀이 모음 (2)

송히·2023년 8월 15일
0
post-thumbnail

프로그래머스 Lv.1 정답률 높은 문제 풀이 모음 (2)

: 프로그래머스 코딩테스트 연습 JavaScript Lv1 풀어보기


🔍 연습문제 > 약수의 합

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(n) {
    let half = Math.ceil(n / 2);
    let sum = n;
    
    if(n == 0) return 0;
    if(n == 1) return 1;
    
    for(i=1; i<=half; i++) {
        if(n % i == 0) sum += i;
    }
    return sum;
}

📢 풀이 설명
반복문을 사용해 약수를 찾아 더해준다. 이때 n이 0 또는 1이면 반복문을 돌 필요가 없으므로 early return 해준다.


🔍 연습문제 > x만큼 간격이 있는 n개의 숫자

클릭해서 문제 전체 보기🔼

📖 풀이 코드

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

📢 풀이 설명
answer 배열 개수가 n개가 될 때까지, x에 +x를 더해서 push시킨다.


🔍 연습문제 > 자연수 뒤집어 배열로 만들기

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(n) {
    return n.toString().split("").map(ele => +ele).reverse();
}

📢 풀이 설명
n을 쪼개서 배열로 만든 후, 각 요소를 숫자로 변환 후, 최종적으로 배열을 뒤집는다.


🔍 연습문제 > 문자열 내 p와 y의 개수

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(s){
    let pCount = 0;
    let yCount = 0;

    s.split("").forEach(ele => {
        if(ele == "p" || ele == "P") pCount++
        if(ele == "y" || ele == "Y") yCount++
    })
    
    if(pCount == 0 && yCount == 0) return true;
    if(pCount - yCount == 0) return true;
    return false;
}

📢 풀이 설명
p,P의 개수와 y,Y의 개수를 따로 센다. 그 후 둘 다 0이 아니면서, 둘의 값이 같을 때(둘 값을 뺐을 때 0) true를 반환한다.

profile
데브코스 프론트엔드 5기

0개의 댓글

관련 채용 정보