문제 링크: https://leetcode.com/problems/mirror-reflection/
매번 튕기는 위치를 구할 수 있다. (이전에 튕긴 위치, 레이저의 방향(위 or 아래)
튕기는 위치는 결국 모서리에 접근하기 위해 p의 배수가 되는 y축 지점에 도달한다.
따라서 최종 모서리의 위치는 수학적으로 접근해 모서리 위치를 구할 수 있다.
p 와 q의 최소공배수가 되는 지점이 모서리에 도달하는 경우다.
튕긴 횟수 (좌, 우에 튕긴 경우만 고려)에 따라 모서리 위치가 결정된다.
var mirrorReflection = function(p, q) {
let reflectCount;
for (let i = 1; i <= p; i++) {
if (i * q % p === 0) {
reflectCount = i;
break;
}
}
if (reflectCount % 2 === 0) return 2;
else if ((reflectCount * q) % (p * 2) === 0) return 0;
else return 1;
};