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

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

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

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


🔍 연습문제 > 두 정수 사이의 합

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(a, b) {
    let result = 0;
    
    if(a == b) return a;
    if(b - a < 0) {
        let tmp = a;
        a = b;
        b = tmp;
    }
    
    for(i=a; i<=b; i++) result += i;
    
    return result;
}

📢 풀이 설명
주어진 a보다 b가 더 작으면 b와 a의 값을 바꾼다. 그 후, a부터 b까지의 값을 더한다.


🔍 연습문제 > 콜라츠 추측

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(num) {
    let count = 0;
    
    while(num != 1 && count<501) {
        if(num % 2 == 1) {
            num = num*3 + 1;
            count++
        }
        if(num % 2 == 0) {
            num = num / 2;
            count++
        }
    }
    if(count > 500) return -1;
    return count;
    
}

📢 풀이 설명
num이 홀수일 때와 짝수일 때로 나누어 한 세트로 만들어 계산을 시행하고, num이 1이 아니고, 총 count가 500을 넘지 않을 때까지 반복한다.


🔍 연습문제 > 서울에서 김서방 찾기

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(seoul) {
    return `김서방은 ${seoul.indexOf("Kim")}에 있다`
}

📢 풀이 설명
백틱안의 글자는 모두 문자열 처리되고, ${}안의 값은 변수로 작용한다. "Kim"의 인덱스 번호롤 찾아 넣어 출력한다.


🔍 연습문제 > 나누어 떨어지는 숫자 배열

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(arr, divisor) {
    let result = [];
    arr.sort((a, b) => a - b).forEach(ele => {
        if(ele % divisor == 0) result.push(ele);
    })

    if(result.length == 0) return [-1];
    return result;
}

📢 풀이 설명
주어진 배열을 오름차순으로 정렬한 후, 배열 속 요소에서 주어진 divisor로 나누어떨어지는 수를 새 배열에 push한다.

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

0개의 댓글

관련 채용 정보