티스토리 뷰
[Python] 백준 알고리즘 온라인 저지 11022번 : A+B - 8
Python3 코드
t = int(input())
for x in range(1, t+1): # 1부터 t까지
a, b = map(int, input().split())
print(f'Case #{x}: {a} + {b} = {a+b}')
Python3 코드 풀이
1. 전체적인 코드 풀이에 대한 요약정리
이 문제는 백준 온라인 저지 단계별 문제에서 바로 앞 문제 11021번 A+B -7 문제와 완전히 비슷하다. 다른 것이 있다면 print 문에서 출력하는 문장이 조금 더 길어졌다는 것이다. 나의 경우 f-string을 이용해서 출력문을 작성하기 때문에 출력문 형식을 동일하게 하기 위해서 띄어쓰기를 하는 것만 조금 더 유의해서 문제를 풀었다. 정말.. f-string을 쓸 때마다 느끼는데 정말 정말 편하다. 최고..
2. 코드 첫째줄, 랜덤의 수를 입력받는다.
t = int(input())
먼저 문제의 입력값 중 제일 먼저 입력받는 테스트 케이스를 변수 t에 선언한다. 이 숫자만큼 for문을 반복해야 하기 때문에 input 함수로 입력받는 문자열을 int 함수를 이용해서 자연수로 변환시켰다.
2. for문 첫째줄 코드, 숫자 범위로 for문을 반복하는 코드를 짠다.
for x in range(1, t+1): # 1부터 t까지
for문을 작성할 때 1부터 t까지의 숫자 범위를 지정하기 위해서 range(1, t+1)이라고 작성하였다. 이렇게 숫자 범위를 지정한 이유는 출력문에서 몇 번째 Case인지를 입력할 때 변수 x를 사용하기 위해서이다. 이렇게 하면 입력받은 테스트 케이스 수 t만큼 for문을 반복하면서 변수 x를 1부터 시작하는 숫자로 유용하게 쓸 수 있다.
3-1. for문 안에서 반복되는 문장을 작성한다.
a, b = map(int, input().split())
print(f'Case #{x}: {a} + {b} = {a+b}')
우선 테스트 케이스 횟수만큼 a, b 두 수를 입력받는다. 두 수는 공백을 사이에 두고서 한 줄로 입력받기 때문에 input( ). split( ) 함수로 입력받자마자 공백을 기준으로 나누어주었다. 그리고 두 수는 input 특성상 문자열로 입력되니까 map 함수를 이용해서 두 수를 한꺼번에 int 타입으로 변환시켰다.
3-2. f-string 작성법
두 수를 입력받은 이후에는 프린트 함수로 문장을 완성하여 출력한다. 이때 f-string을 이용했다. f-string은 문자열도 원하는 모양으로 작성할 수 있고 { } 괄호를 이용해서 변수를 입력할 수도 있어서 정말 간편하다. 출력 형식은 예제 출력문을 보고 그대로 작성하였다. 예제 출력문을 먼저 보면 아래와 같다.
Case #1: 1 + 1 = 2
Case #2: 2 + 3 = 5
...
그럼 f-string을 작성하기 위해서 print 함수 괄호 안에서 문자열을 생성하는 따옴표 앞에 f 접두사를 붙여준다. 그리고 따옴표 안에서 원하는 문자열을 그대로 쓰면 된다. 여기에서 반복문마다 변하는 수 x, a, b는 { } 괄호 안에 입력해주면 된다.
'파이썬 스킬업 > 백준 알고리즘 연습' 카테고리의 다른 글
백준 2438번 [파이썬] 별 찍기 - 1 : for문, comprehension 작성 (0) | 2020.07.03 |
---|---|
백준 11021번 [파이썬 알고리즘] A+B - 7 (0) | 2020.07.03 |
백준 2742번 [파이썬] 기찍 N : Python range함수 역순 출력 (0) | 2020.07.03 |