안경잡이 구루루

백준 11021 ( A +B -7 ) [python] 본문

파이썬(Python)/문제풀이(백준,BaekJoon)

백준 11021 ( A +B -7 ) [python]

구루루(gururu) 2020. 5. 9. 21:52
반응형

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.


나:

T = int(input())

for i in range(1,T+1):
    a,b = map(int, input().split())
    print("Case #"+str(i)+':',a+b)

완성된 코드는 위와 같다.

 

T = int(input())

우선 테이스트 케이스를 받아 몇번의 출력을 할지 정한다.

 

for i in range(1,T+1):
    a,b = map(int, input().split())
    print("Case #"+str(i)+':',a+b)

for 반복문으로 range 함수를 사용해서 입력값 a,b 의 합을 출력하기로 했다.

a,b는 map함수로 빈칸을 기준으로 입력받았다.

그리고 위 예제 출력을 보면 ':' 과 a+b 의 합이 떨어져 있으므로 콤마(,)를 사용해 띄어서 출력하도록 했다. 이때 케이스 넘버 i는 정수형이지만 문자형과 같이 붙여서 쓰기 위해 같은 자료형인 str(i) 로 바꿨다.


다른사람:

https://claude-u.tistory.com/99

cases = int(input())

for i in range(cases):
    a,b = map(int, input().split())
    ans = a + b
    print("Case #%s: %s"%(i+1, ans ))

완성된 코드는 위와 같다.

 

주목해야할 점은 문자열 포매팅을 사용한 점이다.

for i in range(cases):
    a,b = map(int, input().split())
    ans = a + b
    print("Case #%s: %s"%(i+1, ans ))

range함수가 0 부터 시작하기 때문에 print함수로 출력되는 # 케이스의 번호를 i+1로 나타내었고

a+b의 값을 ans로 표현했다. 이때 이것들과 대응되는 키워드를 %s 로 해서 문자열로 표현해도 답에 영향을 끼치지 않아 상관없다.  또한 %d로 해도 정상작동 한다.

반응형