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

[백준/Python] Bronze III #1247 부호

by favorcat 2023. 1. 11.
반응형
 

1247번: 부호

총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거

www.acmicpc.net

문제

N개의 정수가 주어지면, 이 정수들의 합 S의 부호를 구하는 프로그램을 작성하시오.

입력

총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거나 같다.

출력

총 3개의 줄에 걸쳐 각 테스트 셋에 대해 N개의 정수들의 합 S의 부호를 출력한다. S=0이면 "0"을, S>0이면 "+"를, S<0이면 "-"를 출력하면 된다.

풀이

from sys import stdin
for i in range(3):
    n = int(stdin.readline())
    s = 0
    for k in range(n):
        s += int(stdin.readline())
    if s == 0: print("0")
    elif s > 0: print("+")
    else: print("-")

3개의 테스트 셋이 있고, 각 셋마다 N개의 정수가 존재
각 테스트 셋의 첫째 줄에는 N이 주어지고, 나머지 줄에는 각 정수가 주어진다.
주어진 정수의 절댓값은 9223372036854775807보다 작거나 같다.
N개의 정수들의 합 S의 부호를 출력하면 된다.

처음에는 그냥 int(input())으로 썼더니 시간초과가 나서 stdin.readline()을 이용하여 해결했다.

반응형

Comment