티스토리 뷰

 

[Python] 백준 알고리즘 온라인 저지 10950번 : A+B - 3

 

Python3 코드

t = int(input())  # 테스트 케이스 개수 t를 입력받음

for _ in range(t):  # t 만큼 반복
    a,b = map(int,input().split())
    print(a+b)

 

 

Python3 코드 풀이

 

1. 코드 작성에 대한 전체적인 내용 풀이

이 문제는 입력받는 두 수를 더한 값을 출력하는 문제이다. 백준 온라인 저지 단계별 문제에서 이전에 수학 사칙연산과 다른 점은 두 수를 한 번만 입력받는 것이 아니고 맨 처음 입력받는 테스트 케이스 수만큼의 두 수를 입력받는 것이다. 이런 경우 두 수를 입력받고서 두 수를 합한 값을 출력하는 코드를 반복하는 것이므로 반복문으로 코드를 작성할 수 있다. 이번 문제는 while문보다 for문으로 작성하기가 편해서 for반복문으로 문제를 풀었다.

 

2. 코드 첫째줄

t = int(input())  # 테스트 케이스 개수 t를 입력받음

우선, 반복해야 하는 횟수 숫자를 입력받는다. input 함수로 입력받고서 int 함수를 이용해 정수로 변환하였다.

 

3. for반복문 코드 첫째줄

for _ in range(t):  # t 만큼 반복

for반복문은 [ for 변수 in iterable자료형 ] 형태로 첫째줄을 작성할 수 있다. 이때, 반복 가능한 iterable 자료형의 요소 하나하나를 for문 안에서 사용해야 한다면 for과 in사이의 변수에 선언해서 이용할 수 있다. 그런데 이번 문제는 테스트 케이스로 입력받은 수 t만큼 반복을 하는 것이 중요하고 range 함수로 생성된 숫자 요소를 변수로 선언하여 사용할 필요는 없다. 이런 경우 for과 in 사이를 언더바 ( _ )로 표현하는 것도 가능하다. 

 

참고로 range 함수에서 괄호안에 숫자가 1개인 경우 시작 값은 0이고 입력 숫자는 stop 값을 의미한다. 그런데 range 함수는 서 stop 값은 숫자 범위 안에 포함하는 특징을 가지고 있다. 그래서 괄호 안에 숫자 t를 입력하는 경우 숫자의 범위는 0부터 t-1까지이다.  

 

4. for문 안에서 반복 될 코드

    a,b = map(int,input().split())
    print(a+b)

for문 안에서 반복 될 문장은 들여 쓰기를 해서 작성한다. 다른 언어보다 파이썬은 들여 쓰기가 중요한 언어이기 때문이다. 이번 문제에서 반복될 문장은 두 수를 입력받고 두 수의 합을 출력하는 코드이다. 

 

입력받는 두 수는 공백으로 구분된 하나의 문자열로 입력받는다. split 함수를 이용해서 공백을 기준으로 두 문자열을 분리하고 정수로 변환하기 위해서 map 함수를 이용하여 코드를 한 줄로 작성하였다. 

 

출력 값은 두 수의 합이므로 print 함수 안에서 정수로 변환된 두 변수 a와 b를 더한 값을 식으로 작성하였다.

 

반응형
댓글
반응형