코딩테스트/Baekjoon

[백준] 1247:부호 - Python

지윤공원🌳 2021. 5. 20. 16:07
728x90

📖 문제 설명

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

 

✔️ 입력

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

주어지는 정수의 절댓값은 9223372036854775807보다 작거나 같다.

 

✔️ 출력

총 3개의 줄에 걸쳐 각 테스트 셋에 대해 N개의 정수들의 합 S의 부호를 출력한다.

S=0이면 "0"을, S>0이면 "+"를, S<0이면 "-"를 출력하면 된다.

 

💻 나의 코드

from sys import stdin # stdin 라이브러리 추가

result = [] # 결과를 담을 리스트 초기화
for i in range(3):
  n = int(stdin.readline()) # N 입력받음
  s = 0 # 합을 누적할 s를 0으로 초기화
  for j in range(n):
    s += int(stdin.readline()) # s에 입력받음 값들 누적
  if s == 0: result.append("0") # s가 0이면 "0"추가
  elif s < 0: result.append("-") # s가 0 미만이면 "-"추가
  else :result.append("+") # s가 0을 초과하면 "+"추가
print('\n'.join(result)) # result를 엔터로 구분하며 출력

 

📜 채점 결과

합계: 100.0 / 100.0

 

💬 배운 것

  • stdin.readline()을 사용하면 더 빨리 입력받을 수 있다는 것을 배웠습니다. 

 

 

 

1247번: 부호

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

www.acmicpc.net

 

728x90