본문 바로가기
I can do it on my own!/백준

[백준] 11021번 파이썬(Python)

by zivvon 2023. 5. 6.
목차 접기

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.


문제 의도 :

Case #1: 2

반복문 내에서 위와 같은 문자열을 그대로 출력할 수 있는가?

 

'오답 돌아보기'

파이썬 문자열 자료형과 print()의 특징을 고려하며 코드를 짜면서, 문자열 "#"과 변수 '1' 사이를 어떻게 하면 띄어쓰기 없이 붙여쓸 수 있을까 고민하다가 결국 이상한 방식으로 출력하여 오류가 났다.

 

'해결 방법'

f-string 이용하기!

f-string은 문자열 맨 앞에 'f'를 붙여주고, 중괄호 안에 변수 이름 혹은 출력하고 싶은 것을 넣어주면 된다.

형태 : ex) f'문자열 {변수} 문자열' 

 

'정답 코드'

import sys

# 테스트 케이스
T = int(sys.stdin.readline().rstrip())

for i in range (1, T + 1) :
    A, B = map(int, sys.stdin.readline().split())
    print(f'Case #{i}: {A + B}')

 

+ 다른 코드들도 참고하며 정수 i의 값을 string형으로 변환하여 출력할 수 있음을 깨달았다.

print("Case #" + str(i) + ":", A + B)도 정답이 될 수 있겠다.

문자열 덧셈은 띄어쓰기 없이 문자열을 이어주고, ','은 자동으로 띄어쓰기 포함 출력되니 가능하다.