1. 문제
프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 주사위의 개수 ]
2. 시도해본 것들
처음에 문제를 읽고 이해하는데 조금 시간이 걸렸다.
입체도형이라니 너무 어려워보여서 포기하고 넘어갈까?
그래도 한번 시도라도 해봐야지! 하고 머리를 굴려보았다.
box [ 10, 8 , 6 ] , n=3정육면체 , 12개
해당 박스에 12개가 들어가는 과정을 머리속으로 생각했다.
3. 해결과정
가로10 세로8 높이6 일때 3정육면체는
가로10에서 3개 들어가고
세로8에서 2개 들어가고
높이6에서 2개 들어가네?
3*2*2=12
모두 n정육면체로 나눴을때 몫의 값!
몫을 구하는 함수는 parseInt()이므로 이것만 있으면 답을 구할 수 있다!
4. 알게 된 점
나의 코드
function solution(box, n) {
return parseInt(box[0]/n) * parseInt(box[1]/n) * parseInt(box[2]/n)
}
난생 처음으로 1줄로 문제풀어서 뿌듯!ㅎㅎ
남의 코드
function solution(box, n) {
let [width, length, height] = box;
return Math.floor(width / n) * Math.floor(length / n) * Math.floor(height / n);
}
나랑 똑같지만, 변수명을 이쁘게 적어두셨다
function solution(box, n) {
return box.reduce((acc,v) => acc * Math.floor(v / n), 1);
}
누산기 사용
function solution(box, n) {
return box.map(v=>~~(v/n)).reduce((a,v)=>a*v,1);
}
맵핑......~~ 사용은 처음봐서 이해가 안되는 코드ㅠ
728x90
'일기 > TIL' 카테고리의 다른 글
TIL: Today I Learned 62일차 [ 인덱스 바꾸기 ] (0) | 2023.02.14 |
---|---|
TIL: Today I Learned 61일차 [ 배열 회전시키기 ] (0) | 2023.02.13 |
TIL: Today I Learned 59일차 [ 문자열 정리하기 (1) ] (0) | 2023.02.09 |
TIL: Today I Learned 58일차 [ 프로젝트 발표일 ] (0) | 2023.02.08 |
TIL: Today I Learned 57일차 [ 프로젝트 2일 ] (0) | 2023.02.02 |