본문 바로가기

Development/Coding Test

프로그래머스_코딩테스트 입문6

자릿수 더하기

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

 

나의 풀이

function solution(n) {
    let num = String(n)
    let mapfn = (arg) => Number(arg)
    let arr = num.split('').map(mapfn)
    let sum = 0;
    
    for (i = 0; i < arr.length; i++) {
            sum += arr[i]
    }
    return sum
}

 

순서쌍의 개수(상)

순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.

 

나의 풀이

function solution(n) {
    let count = 0;
    
    for (i=1; i<=n; i++) {
        if ((n % i) === 0) {
            count ++
        }
    }
    return count
}

 

개미군단(상)

개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.

 

나의 풀이

function solution(hp) {
    let a = parseInt(hp / 5)
    let b = parseInt((hp % 5) / 3)
    let c = hp - ((a * 5) + (b * 3))
    return a + b + c
}

 

 

숨어있는 숫자의 덧셈(상)

문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

 

나의 풀이

function solution(my_string) {
    let numarr = my_string.replace(/[^0-9]/g, "").split('');
    let sum = 0;
    
    for (i = 0; i < numarr.length; i++) {
        sum += Number(numarr[i])
    }
    return sum
}

 

 

문자열 정렬하기(1)

문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.

 

나의 풀이

function solution(my_string) {
    let nums = my_string.replace(/[^0-9]/g,'')
    return nums.split('').map(Number).sort((a, b) => a-b)
}