728x90
문제
6359번: 만취한 상범
한 줄에 한 개씩 각 테스트 케이스의 답, 즉 몇 명이 탈출할 수 있는지를 출력한다.
www.acmicpc.net

풀이
문제의 핵심은 각 라운드가 끝난 후에 어떤 방이 열려있는지 파악하는 것입니다. 어떤 방이 열려있는지는 그 방 번호의 약수의 개수에 의해 결정됩니다.
n개의 방 중에서 제곱수인 방의 개수를 구하면 탈출할 수 있는 학생들의 수를 알 수 있습니다.
import sys
input = sys.stdin.readline
def solve(n):
cnt = 0
for i in range(1, int(n ** 0.5) + 1):
if i * i <= n:
cnt += 1
return cnt
T = int(input())
for _ in range(T):
n = int(input())
print(solve(n))728x90