프로그래밍/파이썬 python

단계별로 풀어보기 3 - 반복문(3)

idealtrue 2023. 7. 24. 22:22
728x90

문제번호 11021번 A+B -7

 

첫 번째 줄에 케이스 개수 T가 입력되고, 그 이후에 A B가 입력되면 각 케이스마다 Case #x: 를 출력한 뒤 A+B값을 출력한다.

 

답안 :

1 T = int(input())
2 import sys
3 for i in range(T):
4     A, B = map(int,sys.stdin.readline().split())
5     print('Case #',i+1,': ',A+B, sep='')

 

comment :

# T에 정수형으로 입력을 받은 후 sys모듈을 불러왔다.

# T의 개수만큼 for 반복문을 사용하여 반복시켰고, 출력되는 문자는 Case #1부터 이므로 0부터 시작하는 range함수의 특성에 1을 더해주어야 제대로 출력이 된다.

# 중간에 변수와 문자 사이에 띄어쓰기를 없애기 위해서 프린트문 마지막에 sep=''을 넣어주었다.

# 변수 문자 간 자동 띄어쓰기를 없앴기 때문에 원하고자 하는 출력값의 띄어쓰기는 수동으로 문자열에 포함시켜 넣어주어야 한다.

 

----------------------------------------------------------

 

문제번호 11022번 A+B -8

 

입력값은 11021번과 동일하고, 출력값을 Case #x: A + B = C 형식으로 출력해야 한다.

 

답안 :

1 T = int(input())
2 import sys
3 for i in range(T):
4     A, B = map(int,sys.stdin.readline().split())
5     print('Case #',i+1,': ',A,' + ',B,' = ',A+B, sep='')

 

comment :

# 코드는 11021번과 유사하고 print문만 띄어쓰기를 잘 수정해서 작성해주면 된다.

 

----------------------------------------------------------

 

문제번호 2438번 별찍기 - 1

 

줄의 개수 N을 입력을 하면 첫째줄에는 별 1개, 둘째 줄에는 별 2개 ... N번째 줄에는 별 N개를 출력해야 한다.

 

답안 :

1 N = int(input())
2 for i in range(N):
3     print('*' * (i+1))

 

comment :

# for 반복문의 변수를 이용하여 쉽게 작성할 수 있다.

# range함수의 첫 시작은 0이기 때문에 print문에 i+1을 해주는 방법 말고, range함수 자체의 범위를 바꿔주는 방법도 있다.

    ex) for i in range(1, N+1):

              print('*' * i)

 

----------------------------------------------------------

 

문제번호 2439번 별찍기 - 2

 

입력, 출력값은 2438번과 동일하지만 *이 오른쪽 정렬을 하도록 해야한다.

 

답안 :

1 N = int(input())
2 for i in range(N):
3     print(' ' * (N-(i+1)) + '*' * (i+1))

 

comment :

# 5라는 값을 넣었을 때 첫째 줄(i=0)은 공백 4칸 + 별 1칸, 둘째 줄(i=1)은 공백 3칸 + 별 2칸 ... 다섯째 줄(i=4)은 공백 0칸 + 별 5칸이다.

# 공백은 N에서 i+1만큼 뺀 값이 출력되고, 별은 i+1만큼의 값이 출력되고 있기 때문에 그에 대한 값을 출력해주는 코드를 작성하였다.

728x90