안경잡이 구루루

백준 11022( A+B-8 ) [ python ] 본문

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

백준 11022( A+B-8 ) [ python ]

구루루(gururu) 2020. 5. 9. 22:06
반응형

문제

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

입력

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

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

출력

각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.


나:

T = int(input())

for i in range(1,T+1):
    a,b = map(int, input().split())
    0 < a and  10>b
    c=a+b
    
    print('Case #'+str(i)+':',str(a),'+',str(b),'=',c)

완성된 코드는 위와 같다.

 

T = int(input())

우선 T(테스트 케이스)로 몇번 반복하지 입력값을 받는다.

 

for i in range(1,T+1):
    a,b = map(int, input().split())
    0 < a and  10>b
    c=a+b

    print('Case #'+str(i)+':',str(a),'+',str(b),'=',c)

T만큼 for 반복문의 range함수를 활용해 반복한다. 

이때 a,b의 입력값을 map함수로 묶어 빈칸을 기준으로 a,b를 구별해 int 자료형으로 바꾸었다.

그리고 조건에 맞게 a,b의 범위를 설정하고 c 를 a+b의 합의 변수로 만들었다.

이후 반복문 속에 print함수를 넣어 a,b가 입력 될때마다 그것에 해당하는 출력을 했다.

이때 위의 출력예시를 보면 붙여쓰지 않고 띄어서 쓰인 부분이 있는데 그 부분들을 콤마(,) 를 이용해 한칸씩 띄어써서 출력했다.  그리고 +를 이용해 변수의 값들을 붙여서 출력하려고 했다.  같은 자료형끼리만 가능하기 때문에 정수형 i, a, b를 str(문자형)로 바꾸어 사용했다.


다른사람:

https://pacific-ocean.tistory.com/29

case = int(input())
for i in range(case):
    a, b = map(int, input().split())
    print('Case #%d: %d + %d = %d' %(i+1, a, b, a+b))

완성된 코드는 위와 같다.

 

주목해야할 부분은 문자열 포매팅을 사용해 출력했다는 점이다.

for i in range(case):
    a, b = map(int, input().split())
    print('Case #%d: %d + %d = %d' %(i+1, a, b, a+b))

% 키워드를 사용해서 정확한 값을 넣기 위해 순서와 개수를 맞추어 대응시켜 넣었다.

range 함수는 시작값이 정해지지 않은 경우 0부터 들어가기 때문에 #1 부터 시작하는 Case를 맞추기 위해 i+1을 대응,  그리고 a,b 를 대응, 이 둘의 합을 a+b로 나타내 대응시켰다.

 

반응형