Online Judge/Baekjoon
[Python/파이썬] 백준 1247 부호
winter126
2025. 1. 26. 04:57
📍 문제
https://www.acmicpc.net/problem/1247
📍 전체 코드
import sys
input = sys.stdin.readline
for _ in range(3):
N = int(input())
flag = sum(int(input()) for _ in range(N))
if flag == 0:
print(0)
elif flag < 0:
print('-')
else:
print('+')
📍 문제 풀이
- sum(int(input()) for _ in range(N)) 한 번에 여러 입력을 받아서 합산
- flag == 0일 때는 0을 출력하고, flag < 0일 때는 -를 출력, flag > 0일 때는 +를 출력
📍 문제 해결을 위한 고민
import sys
input = sys.stdin.readline
추가해주지 않았더니 채점 시간이 너무 오래걸렸다. (기다리면 정답입니다!는 뜬다)
⭐️ 중요 포인트
input = sys.stdin.readline
기본적으로 input() 함수는 한 줄을 입력받고, 문자열로 반환하는 함수이다. 하지만 이 함수는 느리기 때문에 많은 입력을 빠르게 처리해야 할 경우 sys.stdin.readline을 사용하는 것이 성능 면에서 더 유리하다.
sys.stdin.readline은 한 줄을 입력받고 그 값을 문자열로 반환하는데, input()보다 훨씬 빠르기 때문에 대량의 데이터를 처리할 때 유용하다.