원 안의 점
풀이
반지름이 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}')
'알고리즘 > SWEA' 카테고리의 다른 글
SWEA D3 16002. 합성수 방정식 (python) (0) | 2024.02.26 |
---|---|
SWEA D3 18662. 등차수열 만들기 (python) (1) | 2024.02.26 |
SWEA D3 17642. 최대 조작 횟수 (python) (1) | 2024.02.25 |
SWEA D3 16800. 구구단 걷기 (python) (1) | 2024.02.24 |
SWEA D3 7584. 자가 복제 문자열 (python) (0) | 2024.02.21 |