문제 설명
A+B 출력 형태에서 출력만 조금 다르게 변경하면 된다. 이번에는 "Case #x: A + B = C" 형식으로 출력한다.
풀이 과정
Point 1: 몇 회인지 Case 횟수를 정의하고 매 횟수마다 index를 나타내어 Case #x에 넣어야 한다.
Point 2: 기본 A+B를 구현할 수 있어야 한다.
Point 3: 출력 시 integer (정수) 형태와 문자열 및 띄어쓰기를 제대로 구별할 수 있어야 한다.
import sys
for i in range(1,int(sys.stdin.readline())+1):
A,B=map(int,sys.stdin.readline().split())
print("Case","#"+str(i)+":", A,"+",B,"=",A+B)
- 입력 인자 받기
N=sys.stdin.readline() 함수를 사용 해 사용자의 입력 인자를 받도록 하였다. input() 함수를 써도 상관은 없을 것.
*여기서 주의할 점은, intput() 함수와 sys.stdin.readline() 함수는 모두 문자열을 출력하기 때문에 이를 정수형으로 고쳐주어야 한다.
따라서 range 내에도 int(sys.stdin.readline()) 처리를 해 주었다.
- for문 구성
N 횟수만큼 Case를 돌릴 것이어서, int(N)처리 후 for문에서 range(1,N+1)로 변경 해준다. range(N)으로 하면 index는 0부터 시작하므로 Case #0으로 표출될 것이다. 또한 range(1,N)으로 하면, 1,2,3,...N-1까지 계산되므로 이에 유의한다.
- A,B 값 받기
이후 map(int,sys.stdin.readline().split())를 사용한다. split하여 2개의 입력 인자를 받을 수 있도록 하고, 이를 정수로 변환 해 주는 함수이다.
- 정상적으로 print하기
여기서 문자열과 숫자열, 그리고 띄어쓰기를 구별할 수 있어야한다.
- 쉼표: 띄어쓰기
- +: 붙여서 그대로 출력
- A, B 등의 변수를 숫자로 출력하고 싶으면 따옴표 없이 그대로 쓸 것.
- 숫자와 글자를 붙이고 싶다면 숫자를 문자열로 바꿔줄 것. str(i) --> 횟수를 문자열로 바꿔서 붙여줌.
"Case #x: A + B = C" 형태이므로, 위 원칙을 지키면 아래와 같이 된다.
print("Case","#"+str(i)+":", A,"+",B,"=",A+B)
오답 노트
- range에서 +1을 빼먹음.
- sys.stdin.readline() 출력 값을 int()로 변환하지 않음.
'파이썬 > 파이썬 알고리즘' 카테고리의 다른 글
6002 : [기초-출력] 출력하기02(설명)(py) (0) | 2021.03.27 |
---|---|
이것이취업을위한코딩테스트다 - Chapter 01 코딩테스트 개요 1. 복잡도 - 시간 복잡도 (0) | 2021.03.27 |
파이썬 백준 11021번 A+B - 7 (0) | 2021.03.26 |
파이썬 백준 2839번 설탕 배달 (0) | 2021.03.26 |
파이썬 백준 15552번 빠른 A+B 빠르게 입력받고 출력하는 문제 (0) | 2021.03.26 |
댓글