본문 바로가기
자기개발/TIL

수학 어렵네..

by 금화맘 2023. 6. 22.

프로그래머스 lv.0 주사위의 개수를 풀었다.

나는 이 문제를 풀때 상자의 부피를 구하고 주사위의 부피를 구해서 나누면 되지 않을까 해서 

입출력 예제 2번의 예를 갖고 내 가설과 붙여봤다.

  • 상자의 크기가 가로 10, 세로 8, 높이 6이므로 모서리의 길이가 3인 주사위는 12개 들어갈 수 있습니다.

근데 (10*8*6)/(3*3*3)을 하면 5.xxx가 나오는데 정수만 보면 5다. 근데 예제는 12개 란다..

왜지...?

나 수학도 못하나?

이렇게 생각했는데 이건 부피를 비교해서 하면 안되는 거였다.

 

chatgpt에 넣어서 풀어보게 시키니까 각 가로/모서리, 세로/모서리, 높이/모서리한 뒤 나온 정수를 모두 곱하는 거였다..

왜지..?? 

그래서 상상으로 3짜리를 하나씩 넣으면서 상상했더니 chatgpt가 한 방법이 맞았다.

그럼 왜 부피를 구해서 부피로 나눈 값이랑 왜 다른걸까...

 

function solution(box, n) {
    let ga = parseInt(box[0]/n)
   let se = parseInt(box[1]/n)
   let no = parseInt(box[2]/n)
   
 var answer = ga*se*no;

 return answer;

 

처음엔 이렇게 풀었다가

chatgpt는 

function solution(box, n) {

    var answer = Math.floor(box[0] / n) * Math.floor(box[1] / n) * Math.floor(box[2] / n);

 return answer;
로 한게 기억나서 내가 한거를 한줄로 묶어서 제출했다.

function solution(box, n) {
    var answer = parseInt(box[0]/n)*parseInt(box[1]/n)*parseInt(box[2]/n)
   return answer;

괜히 객체로 했나 시피도 하지만... 뭐.. 덕분에 잘 풀었다...