본문 바로가기

프로그래머스 - 코딩테스트

[JavaScript][프로그래머스] - LVL.0 주사위의 개수


정답 1

찾아보니 초등학교 6학년에 도형 문제였던것 같은데. 오랜만에 상당히 반가웠다. 여기서 또 보는구나.

오랜만에 봐서 그런가 처음에 이해하는데 아주 약간 시간이 걸렸다. 하지만 결국 감이 왔다.

map 과 reduce 라는 Javascript 의 내장 기능들을 활용해 문제를 풀어야겠다는 직감이 딱 느껴졌다.

이렇게 둘을 활용해야 가장 우아하게 문제가 풀릴것 같았다.

function solution(box, n) {
    return box.map((d) => parseInt(d/n)).reduce((a, b) => a * b);
}

결과는 정답이였다.

map 을 통해서 box 배열 내 수를 각 주사위의 모서리 길이에 맞게 계산하여 주사위 모서리가 몇개씩 들어가는지 파악하여 가공. 그다음 reduce 를 사용하여 배열내 3개의 수를 모두 곱하여 직육면체 내 정육면체 주사위가 몇개 들어가는지를 구했다.

 


정답 2

다른 정답들을 둘러보다 맘에드는 답 하나를 찾았다.

let solution = (box,n) => box.map(e=>~~(e/n)).reduce((a,b)=>a*b);

정말 끝까지 다 줄여놓아 정말 깔끔하다.