- 
          
          [Programmers] 멀쩡한 사각형Algorithm 2023. 3. 31. 08:501. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이 몫과 나머지를 나누어서 푼다. 가로와 세로중 큰걸 작은걸로 나누어서 한칸 지날때마다 얼마나 영역을 차지하는지 계산한다. 예를 들어, w=8, h=12면 작은 w기준으로 첫번째 칸에서는 12/8 = 1 … 4 → 두칸 차지한다. 다음 칸은 1과 4/8 + 1과 4/8해서 3이기 때문에 → 두칸 차지한다. 즉, 분수의 덧셈을 계속해서 나머지가 0이면 정수부의 next - prev 나머지가 있으면 next - prev + 1이된다. 3. 결과  4. 코드 function solution(w, h) { var answer = w * h; var large = Math.max(w, h); var small = Math.min(w, h); var q = parseInt(large / small); var r = large % small; var i = 0; var j = 0; var subBlock = 0; for(var k=0; k < small; k++){ var i2 = i + q; j += r; i2 += parseInt(j / small); j = j % small; if(j==0){ subBlock += i2 - i; }else{ subBlock += i2 - i + 1; } i = i2; } return answer - subBlock; }5. 어려웠던 점 자바스크립트의 경우 parseInt를 써주어야지 몫이 구해진다는 점… 몫과 나머지를 안하고 그냥 나눠서 소수로 계산할시에 계산이 정확하지 않기때문에 분수 계산을 해주는 부분이 귀찮았다. 'Algorithm' 카테고리의 다른 글[Programmers] 조이스틱(JS) (0) 2023.03.31