https://programmers.co.kr/learn/courses/30/lessons/62048
function solution(w, h) {
let L=0;
//최대 공약수 구하기
let num=w<h? w:h;
for(let i=1; i<=num; i++){
if(w%i===0 && h%i===0) L=i;
}
//L===0이면 최대공약수가 없는 경우
return (L===0)? (w*h)-(w+h-1):(w*h)-(w+h-L);
}
이 문제는 감이 안와서 공식을 검색해보니, 공식이 존재하는 문제였다! 검색을 통해 공식의 도출 과정이 잘 정리된 사이트를 찾았다.(아니 근데 이게 초5 경시대회 문제라고요...? 수포자로서는 이해할 수 없는 문제)
아무튼 대각선으로 인해 없어지는 사각형갯수 공식을 쏙 빼오면,
w+h-1
w+h-최대공약수
이 공식을 활용해서 문제를 풀 수 있다.
10/27