본문 바로가기
알고리즘/SWEA

SWEA D3 16910. 원 안의 점 (python)

by 개발하는 호랑이 2024. 2. 25.

원 안의 점

풀이

반지름이 N인 어떤 원안에 있는 점의 개수(격자 1칸이라고 생각하고 찍히는)를 구하는 것이다.

아주 간단한 방법인 이중 for문으로 해결했다.
다행히 시간초과도 나지 않았다.
x아 y가 실제로는 -N~N의 범위를 가지면 되므로
이를 아래처럼 이중for문을 작성하고 if문을 통과하면 answer += 1을 하는 방법으로 했다.

for i in range(-N, N+1):
        for j in range(-N, N+1):
            if (i**2 + j**2) <= N**2:
                answer +=1

금방 풀렸다.

T = int(input())
for testcase in range(1, T+1):
    N = int(input())
    # 0 < x <= N, 0 < y <= N
    # x*x + y*y <= N*N 인 것
    answer = 0
    for i in range(-N, N+1):
        for j in range(-N, N+1):
            if (i**2 + j**2) <= N**2:
                answer +=1
    answer = answer
    print(f'#{testcase} {answer}')