처음에 i 의 최댓값을 n 으로 설정했더니 시간 초과가 나왔다. (당연함...ㅎ) 예시에서 n 의 최댓값이 정해져 있어서 하드 코딩해버렸다. 생각해보니 아래와 같은 풀이도 있었다.
while(true) { if(fac <= n) { fac *= i + 1; i++; } else { break; } } return i-1;