본문 바로가기
파이썬/파이썬 알고리즘

파이썬 백준 11022번 A+B - 8 A+B를 바로 위 문제보다 아름답게 출력하는 문제

by Go! Jake 2021. 3. 26.

문제 설명

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()로 변환하지 않음.

 

댓글