[문제 링크] 👇
풀이 방법
💡 테스트 케이스마다 출력하지 말고 결과를 모아서 한번에 출력하기 (시간 초과 문제)
테스트 케이스 번호와 함께 리스트에 담는 방법
results.append(f"#{test_case} DRAW")
저장한 결과를 개행문자와 함께 출력하는 방법
print("\n".join(results))
Solution
T = int(input()) # 테스트 케이스 수
results = [] # 결과를 저장할 리스트
for test_case in range(1, T + 1):
A, B, C, D = map(int, input().split())
alice = A * D # 분수 비교를 위해 곱셈
bob = C * B
if alice> bob:
results.append(f"#{test_case} ALICE")
elif alice < bob:
results.append(f"#{test_case} BOB")
else:
results.append(f"#{test_case} DRAW")
# 저장한 결과를 한 번에 출력
print("\n".join(results))
👩💻 회고
시간 초과
T = int(input()) # 테스트 케이스 수
for test_case in range(1, T + 1):
A, B, C, D = map(int, input().split())
Alice = A / B
Bob = C / D
if Alice > Bob:
result = "ALICE"
elif Bob > Alice:
result = "BOB"
else:
result = "DRAW"
print(f"#{test_case} {result}")
정말 쉬운 문제인데 시간 초과 문제 때문에 정답률이 낮은 것 같다. 매번 테스트 케이스마다 결과를 출력하면 실행 시간이 길어질 수 밖에 없다. 앞으로 시간 초과가 날 경우 결과를 한번에 저장해서 마지막에 출력하는 방법도 고려해봐야겠다.
'SWEA' 카테고리의 다른 글
[SWEA] 9280. 진용이네 주차타워 (Python/D3) (0) | 2024.11.14 |
---|---|
[SWEA] 16800. 구구단 걷기 (Python/D3) (0) | 2024.11.14 |
[SWEA] 4047. 영준이의 카드 카운팅 (Python/D3) (2) | 2024.11.14 |
[SWEA] 3260. 두 수의 덧셈 (Python/D3) (1) | 2024.11.14 |
[SWEA] 1873. 상호의 배틀필드 (Python/D3) (2) | 2024.11.13 |