-
https://programmers.co.kr/learn/courses/30/lessons/62048
좌표 평면 접근
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 댓글