N개의 화살을 던진 위치가 주어질 때, 총 몇 점을 얻었는지 계산하는 문제.
import math
T = int(input()) # 테스트 케이스의 수 T
ans = []
for test_case in range(1, T+1):
N = int(input()) # 화살의 개수 N
answer = 0
for _ in range(N):
x, y = map(int, input().split()) # 화살이 떨어진 위치 x, y
score = math.ceil(math.sqrt(x*x+y*y)/20) # 위치에 따른 점수 계산
if(score==0):
answer += 10
elif score <= 10:
answer += 11-score
ans.append(f'#{test_case} {answer}')
for a in ans:
print(a)
[문제풀이]

이렇게 다트판에서 현재 위치에 따라 점수를 얻는 게임인데, 이거 좀 이상함....
특히 파이썬으론 계속 시간 초과 걸린다.
좌표가 어떤 영역에 있는지는 sqrt(x*x+y*y)로 반지름의 길이를 구한 후 그게 어느 영역인지 확인하면 된다.
근데 문제 자체는 간단하되 계속 시간 초과가 뜬다.
아예 DP처럼 -200, 200 사이의 모든 영역의 값을 미리 구해 출력하는 방식으로 해봐도 시간 초과가 떴다.
ans.append(f'#{test_case} {answer}')
for a in ans:
print(a)
그래서 정답인 코드들을 살펴봤더니 이렇게 print를 리스트에 저장, 나중에 출력하는 방식이였다.
도대체 왜지.... 일반적으로 공정이 하나 더 들어가면 시간이 더 오래 걸리는게 보통 아닌가....??
'코딩테스트 > SWEA' 카테고리의 다른 글
| [Python, 파이썬] SWEA 3032. 홍준이의 숫자 놀이 (0) | 2024.11.11 |
|---|---|
| [Python, 파이썬] SWEA 11445. 무한 사전 (1) | 2024.11.11 |
| [Python, 파이썬] SWEA 14555. 공과 잡초 (1) | 2024.11.11 |
| [Python, 파이썬] SWEA 22574. 높은 곳으로 (1) | 2024.11.11 |
| [Python, 파이썬] SWEA 4579. 세상의 모든 팰린드롬 2 (1) | 2024.11.11 |