📝 문제
💡 N개의 정수가 주어지면, 이 정수들의 합 S의 부호를 구하는 프로그램을 작성하시오.
⚙️ 입력 : 총 3개의 테스트 셋이 주어진다.
각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다.
주어지는 정수의 절댓값은 9223372036854775807보다 작거나 같다.
⚙️ 출력 : 총 3개의 줄에 걸쳐 각 테스트 셋에 대해 N개의 정수들의 합 S의 부호를 출력한다.
S=0이면 "0"을, S>0이면 "+"를, S<0이면 "-"를 출력하면 된다.
1247번: 부호
총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거
www.acmicpc.net
✅ 풀이
import sys
input = sys.stdin.readline
answer = []
for i in range(3):
n = int(input())
sum = 0
for j in range(n):
sum += int(input())
if sum == 0:
answer.append("0")
elif sum > 0:
answer.append("+")
else:
answer.append("-")
for items in answer:
print(items)
💡 반복 횟수가 최대 100,000이므로, 시간초과 방지를 위해 input() 대신 sys.stdin.readline()을 이용했다.
이후로는 입력되는 숫자를 다 더해서 부호를 판별한 뒤에 출력해주기만 하면 되는 간단한 문제였다.