백준

[백준]1247번(python)-부호

chyam_eun 2023. 7. 10. 09:50

https://www.acmicpc.net/problem/1247

 

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이면 "-"를 출력하면 된다.

1차 시도 실패

첫 시도로는 입력받는 것을 input()으로 하였습니다.

총 3번 반복으로 range를 지정해줍니다. 

n은 몇번 입력할지 적어주는것이고 int형으로 변환해줍니다. s는 합이고 for문을 사용하여 입력값을 더해줍니다. 

만약 s가 ~라면 이라는 조건을 만족하면 0,+,-중에 나오도록합니다.

시간초과가 떠서 찾아보니 input을 사용하면 반복문으로 여러번 입력시 시간초과가 뜬다고 합니다..

2차시도 성공

input과 같이 입력받는 sys.stdin.readline()을 사용해주면 문제가 해결된다는걸 알게되었습니다..ㅎ