티스토리 뷰
[Python] 백준 알고리즘 온라인 저지 11021번 : A+B - 7
Python3 코드
t = int(input())
for i in range(1, t+1): # 1부터 t까지
a, b = map(int, input().split())
print(f'Case #{i}: {a+b}')
Python3 코드 풀이
1. 코드 풀이 전체적인 내용 요약정리
이번 문제는 입력받은 두 수의 합을 출력할 때 합한 값만 출력하는 것이 아니라 주어진 출력문 형식에 맞추어 출력하는 문제이다. 백준 단계별 문제의 앞서 풀어왔던 비슷한 문제들과 for문을 작성하는 코드의 형태는 동일하게 작성하면 되고 출력문을 형식에 맞게끔 신경 써서 풀어보았다. 출력문은 변수와 문자열을 섞어서 해야 하는 경우 f-string이 제일 편하게 쓸 수 있어서 f-string을 이용해서 코드를 작성했다.
2. 테스트 케이스 수 입력받기
t = int(input())
먼저 테스트 케이스 수를 입력받는다. input 함수로 입력을 받고 정수로 변환하기 위해 int 함수를 사용하였다.
3. 반복문을 작성한다.
for i in range(1, t+1): # 1부터 t까지
입력받는 테스트 케이스 수만큼 for문을 반복하려면 range 함수의 괄호 안에 t만 넣어도 된다. 그런 경우 range(t)로 작성할 수 있다. 그런데 range(1, t+1)로 함수를 작성한 것은 1부터 t까지 숫자 범위에서 생성되는 변수 i를 이용해서 출력문을 작성하기 위해서이다. 이렇게 작성하면 입력받은 수 t만큼 반복하면서 변수 i는 1부터 t까지로 생성될 수 있기 때문이다.
4. 테스트 케이스 숫자만큼 반복하며 a, b 두 수를 입력받는다.
for i in range(1, t+1): # 1부터 t까지
a, b = map(int, input().split())
for문 안에서 반복되는 문장은 들여 쓰기 해서 작성한다.
a, b 두 수를 입력받을 때는 두 수를 공백으로 구분한 하나의 문장으로 입력받게 된다. 이 하나의 문장은 둘로 나누어야 하는데 split함수의 괄호 안에 아무것도 입력하지 않으면 공백을 기준으로 나눌 수 있다. 그리고 두 개의 수를 한 번에 int 타입으로 변환하기 위하여 map 함수를 사용했다.
5. f-string을 이용해서 출력문 작성한다.
print(f'Case #{i}: {a+b}')
print 함수를 사용할 때에도 테스트 케이스 수만큼 반복해야 하는 문장이므로 for문 안에서 들여 쓰기 해서 작성한다.
f-string은 print함수 안에서 문자열을 작성하기 위해 사용하는 따옴표 앞에 f를 접두사로 붙여서 사용한다. f-string을 이용하면 일반 문자열과 다르게 따옴표 안에 { } 괄호를 입력하고 괄호 안에 변수나 변수를 연산한 값을 입력할 수 있다. 그러면 { } 괄호 이외에는 일반 문자열처럼 고정된 값으로 출력되고 { } 안의 수는 그때그때의 변수의 값이 출력될 수 있다.
출력문의 형태는 예제 출력에서 보이는 것과 동일하게 작성해야 한다. Case의 C는 대문자로 쓰는 점, 띄어쓰기를 주의해서 입력했다. 처음에는 case라고 작성했더니 틀렸다고 나와서 뭐가 틀린 건지를 한참 찾아보기도 했었다.
'파이썬 스킬업 > 백준 알고리즘 연습' 카테고리의 다른 글
백준 11022번 [파이썬] A+B - 8 (0) | 2020.07.03 |
---|---|
백준 2742번 [파이썬] 기찍 N : Python range함수 역순 출력 (0) | 2020.07.03 |
백준 2741번 [파이썬 풀이] N 찍기 : for문, comprehension 사용 (0) | 2020.07.03 |