-
https://programmers.co.kr/learn/courses/30/lessons/62048
코딩테스트 연습 - 멀쩡한 사각형
가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을
programmers.co.kr
좌표 평면 접근
let getGCD = (a, b) => (b > 0 ? getGCD(b, a % b) : a);let getYVal = (val) => -(y / x) * val + y;let x;let y;function solution(w, h) {var answer = 0;let GCD = getGCD(w, h);let num = 1;x = w / GCD;y = h / GCD;if(x === y) return w * h - h;count = 0;let pre = y;let xVal = 1;while(xVal <= x) {count += pre - Math.floor(getYVal(xVal));pre = Math.ceil(getYVal(xVal));xVal++;}while(1) {if(x * num === w) break;num++;}let total = num * count;answer = w * h - total;return answer;}console.log(solution(3,3));'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Lv2] 배달 (0) 2021.06.26 [Lv2] 124 나라 숫자 (0) 2021.06.21 [Lv3] 입국심사 (0) 2021.06.16 [Lv2] 오픈채팅방 (0) 2021.06.14 [Lv3] 네트워크 (0) 2021.05.26 댓글