프로그래머스 : 내적 , 3진법 뒤집기

문제
100/100

기본적인 내용

배열두개가 주어져있고 두개를 각각의 인덱스에 맞추어 계산한 합을 결과로 리턴

reduce 사용

배열과 idx 그리고 계산된 합을 사용하는데 용이하다.
(각각의 배열값들을 원하면 forEach나 map이 유리)

코드

function solution(a, b) {
    return a.reduce((prev,curr,idx)=>{
        curr = curr*b[idx];
        return prev+curr}
        ,0);
}

prev : 이전값으로 기존에는 0이고 그 후에는 return한 값이 prev가 된다.

  • 더보기쉽게
function solution(a, b) {
        return a.reduce((acc,val,index)=>acc+a[index]*b[index],0)
}

문제
100/100

기본적인 내용

해당값을 3진법으로 바꾼 후 숫자를 뒤집은다음 10진법으로 바꾸기

처음 시도한 코드

function solution(n) {
    let a=[];
    n.toString(3).split('').map(x=>a.unshift(x))
    return Number.parseInt((a.join('')), 3);  
}

수정한 코드 (reverse함수사용)

function solution(n) {
    return Number.parseInt(n.toString(3).split('').reverse().join(''), 3);
}

진법 바꾸기

10진법에서 n진법으로

NumberValue.toString(n)

n진법에서 10진법으로

Number.parseInt(NumberValue, n)

좋은 웹페이지 즐겨찾기