티스토리 뷰

728x90

문제 링크

programmers.co.kr/learn/courses/30/lessons/62048

 

코딩테스트 연습 - 멀쩡한 사각형

가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을

programmers.co.kr

 

풀이

가로, 세로가 주어지고 격자점을 관통하는 직선이 보입니다. 이건 누가 봐도 소인수 관련 문제입니다.

최대 공약수로 몇 번 끄적여서 규칙을 찾았습니다.

 

정답 코드

const gcd = (a, b) => b===0 ? a : gcd(b, a%b);
function solution(w, h) {
	const g = gcd(w, h);
	const ans = w*h - g*(w/g+h/g-1);
	
	return ans;
}
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함