
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
#1. 기본적인 방법
가장 일반적인 방법으로, input() 함수를 사용해 값을 문자열로 입력받고 int() 함수로 정수형으로 변환한 후 더합니다.
A, B = input().split()
A = int(A)
B = int(B)
print(A + B)
이 코드는 한 줄로도 작성할 수 있습니다.
A, B = map(int, input().split())
print(A + B)
코드 분석
A, B = map(int, input().split())
이 한 줄은 총 세 가지 함수가 순서대로 실행됩니다.
- input(): 사용자로부터 한 줄의 입력을 받습니다. 사용자가 "10 20"이라고 입력하면, 이 함수는 '10 20'이라는 문자열을 반환합니다.
- .split(): input() 함수가 반환한 문자열을 공백을 기준으로 나누어 리스트로 만듭니다. 예를 들어, '10 20'이라는 문자열은 ['10', '20']이라는 리스트가 됩니다.
- map(int, ...): split() 함수가 반환한 리스트의 각 요소에 int() 함수를 적용합니다. 즉, 리스트 ['10', '20']의 각 문자열을 정수형으로 변환하여 [10, 20]과 같은 map 객체를 생성합니다.
- A, B = ...: map 객체에 있는 두 개의 값을 각각 변수 A와 B에 할당합니다. A에는 첫 번째 값인 10이, B에는 두 번째 값인 20이 저장됩니다.
print(A + B)
- A + B: 위에서 변환된 정수 A와 B를 더합니다. 예를 들어, 10 + 20은 30이 됩니다.
- print(...): 덧셈 결과인 30을 표준 출력(보통 화면)에 출력합니다.
이 코드는 여러 단계의 작업을 한 줄로 효율적으로 처리하기 때문에 파이썬 코딩 테스트나 간단한 입출력 문제에서 자주 사용됩니다.
#2. 반복문을 사용한 방법
여러 번 A+B를 계산해야 할 경우, for 또는 while 반복문을 사용할 수 있습니다.
import sys
# 테스트 케이스의 개수(T)를 입력받음
T = int(sys.stdin.readline())
for _ in range(T):
A, B = map(int, sys.stdin.readline().split())
print(A + B)
코드 분석
import sys sys 모듈을 가져옵니다. 이 모듈은 파이썬 인터프리터가 제공하는 변수와 함수에 접근할 수 있게 해줍니다. 여기서는 **표준 입력(stdin)**을 사용하기 위해 필요합니다.
T = int(sys.stdin.readline()) sys.stdin.readline()은 표준 입력 한 줄을 읽어 문자열로 반환합니다. 이 함수는 input() 함수보다 처리 속도가 빠르기 때문에 입력 데이터의 양이 많을 때 주로 사용됩니다. 사용자가 첫 줄에 테스트 케이스의 개수를 입력하면, 그 값이 문자열로 읽혀지고, int() 함수를 통해 정수형으로 변환된 후 변수 T에 저장됩니다.
for _ in range(T): for 반복문은 T에 저장된 횟수만큼 반복됩니다. 여기서 변수 _는 반복 횟수 자체에는 관심이 없고 단순히 반복문을 T번 실행시키기 위한 용도로 사용될 때 관례적으로 쓰이는 변수명입니다.
A, B = map(int, sys.stdin.readline().split()) T번의 반복이 진행될 때마다 이 코드가 실행됩니다. sys.stdin.readline()을 통해 새로운 한 줄의 입력(예: 1 2)을 받습니다. 이 문자열은 .split()을 통해 공백을 기준으로 ['1', '2']와 같은 리스트로 분리됩니다. 그리고 map(int, ...) 함수는 리스트의 각 문자열을 정수형으로 변환하여 A와 B 변수에 각각 할당합니다.
print(A + B) 변수 A와 B에 할당된 두 정수를 더한 후 그 결과를 화면에 출력합니다. 이 과정이 T번 반복됩니다.
이 코드는 대량의 입력을 효율적으로 처리하는 것이 핵심이며, 코딩 테스트에서 시간 초과를 방지하기 위해 sys.stdin.readline을 사용하는 경우가 많습니다.

'파이썬(문제풀이)' 카테고리의 다른 글
| 파이썬 거스름돈-greedy function (0) | 2025.09.22 |
|---|---|
| 파이썬 버블정렬 (0) | 2025.09.20 |
| 파이썬 리스트 [100, 300, 400, 500, 700]에서 400, 500를 삭제 (0) | 2025.09.19 |
| 파이썬 1에서 1000까지의 자연수중 3의 배수의 합 (0) | 2025.09.19 |
| 파이썬 2제곱, 3제곱, 4제곱 코딩 (0) | 2025.09.17 |