
풀면서 이게 맞나 .. 긴가민가 하긴 했는데 규칙을 잘 찾은 것 같다.
일단 N=10인 경우를 생각하고 순서대로 창문 열고 닫히는걸 확인했다.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | o | o | o | o | o | o | o | o | o | o |
| 2 | o | x | o | x | o | x | o | x | o | x |
| 3 | o | x | x | x | o | o | o | x | x | x |
| 4 | o | x | x | o | o | o | o | o | x | x |
| 5 | o | x | x | o | x | o | o | o | x | o |
| 6 | o | x | x | o | x | x | o | o | x | o |
| 7 | o | x | x | o | x | x | x | o | x | o |
| 8 | o | x | x | o | x | x | x | x | x | o |
| 9 | o | x | x | o | x | x | x | x | o | o |
| 10 | o | x | x | o | x | x | x | x | o | x |
그러고나니 이만큼 썼으면 이거보다 작은 값의 경우는 다 세보자 해서 세보니 .. 규칙이 보이기 시작했다.
| N | 창문 열린 개수 |
|---|---|
| N = 1 | 1 |
| N = 2 | 1 |
| N = 3 | 1 |
| N = 4 | 2 |
| N = 5 | 2 |
| N = 6 | 2 |
| N = 7 | 2 |
| N = 8 | 2 |
| N = 9 | 3 |
| N = 10 | 3 |
sqrt(N)의 정수값이 창문의 열린 개수와 동일한 걸 볼 수 있다.
그래서 출력만 냅다 해주면 된다.
from math import sqrt
N = int(input())
print(int(sqrt(N)))
