728x90
📌 문제
11021번: A+B - 7
각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.
www.acmicpc.net
📌 내 코드
# 11021 A+B - 7
t = int(input())
for i in range(1, t+1):
a, b = map(int, input().split())
sum = a+b
print(f'Case #', i, f': ', sum, sep='')
💡 풀이
- 테스트케이스 t를 입력받는다.
- for문을 1부터 t까지 돌려서
- a, b 값을 입력받는다.
- a와 b의 합을 sum 변수에 담는다.
- 각 합을 print()를 통해 출력한다.
- 출력 예시를 보면 Case #1: 2 로 출력되는데, 위와 동일한 형태로 출력하기 위해서는 print()내에서 , 를 기준으로 자동 공백이 생성되기 때문에 이를 제거해줘야 한다.
- 처음에는 공백 제거에 대표적인 lstrip(), strip(), rstrip()을 활용해 공백을 제거하려고 했는데 이 방법은 'Case #'과 ': '를 각각 변수 s1, s2로 선언해 s1.rstrip() 과 같은 형태로 해줘야 했다.
- 그래서 코드가 너무 길어질 것 같아 공백 제거와 관련해 서치해본 결과 문자열 앞에 f를 붙이는 f-string과 제일 뒤에 sep=''를 붙이는 방법을 발견했고, 이를 함께 사용했다.
- f-string : 값 사이에 공백 없이 출력
- sep=' ' : 인수 사이의 간격 조절, ''로 설정할 경우 자동으로 공백 제거
📌 정리
문자열 공백을 제거하는 데 lstrip(), strip(), rstrip() 이 세 가지만 사용해봤었는데, 문자열 앞에 간단하게 f만 붙이는 f-string 방법도 유용했다. 브론즈 5레벨부터 차근차근 문제를 풀어나가니 내가 놓쳤던 파이썬 문법을 찾아보고, 학습할 수 있다는 게 인사이트 있는 부분이었다.
f-string과 sep는 앞으로도 출력 공백 제거 시 자주 사용할 것 같으니 더 알아보고 따로 정리해봐야겠다.
(* PRD 공부하고 정리해놨던 거 참고 링크글 정리하다가 날려먹었다...얼른 복구시켜야지😭)
적극적인 피드백은 언제나 환영입니다:)