본문 바로가기

과제

[BAEKJOON] 반복문 - python

1. 2739번

for문으로 a_list 속 숫자 1부터 9까지 돌면서

입력받은 n을 곱하고

각각 n, a, b의 값과 필요한 문자를 함께 출력

 

a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = int(input())
for a in a_list:
    b = n*a
    print(n,'*',a,'=',b)

 

 

2. 10950번

입력된 t의 값 만큼 돌면서 a, b 값을 추가로 받고 a+b를 출력

 

t = int(input())

for i in range(t):
    a, b = map(int, input().split())
    print(a+b)

 

 

3. 8393번

range 괄호 안 해당 숫자는 포함하지 않기 때문에 range(n+1)로 입력

sum이란 변수에 i만큼 더하고 출력 (  sum += i   sum 변수에 i를 더한 결과를 다시 sum으로 할당)

* 들여쓰기를 제대로 하지 않으면 마지막 최종값뿐만 아니라 중간과정 값이 모두 표기되기 때문에 주의

 

range(횟수)

range(시작숫자, 종결숫자)

range(시작숫자, 종결숫자, 간격숫자)

 

range는 종결숫자 전까지만 실행함.

 

n = int(input())
sum = 0

for i in range(n+1):
    sum += i
print(sum)

 

 

4. 25304번

N만큼 반복하면서

입력받은 a, b를 곱하고 변수 result에 다시 반환

result가 X와 같을 경우 Yes 출력, 나머지는 No 출력

 

X = int(input())
N = int(input())
result = 0

for i in range(N):
    a, b = map(int, input().split())
    result += a*b

if result == X:
    print('Yes')
else:
    print('No')

 

 

5. 15552번

문제 안내대로 sys.stdin.readline()을 사용하기 위해 import sys 입력

처음엔 4번처럼 변수(result)를 추가했지만 print에서 바로 a+b를 작성하는 것과 결과는 같기 때문에 필요없는 변수는 삭제

 

import sys
T = int(input())

for i in range(T):
    a, b = map(int, sys.stdin.readline().split())
    print(a+b)

 

 

6. 11021번

지난 파이썬 기초 문법 강의에서 알게된 f-string을 활용해 결과를 출력

 i는 요소의 순서를 의미하고 0부터 시작하기 때문에 +1을 붙여주어 Case 번호가 1부터 시작하도록 작성

 

T = int(input())

for i in range(T):
    A, B = map(int, input().split())
    print(f'Case #{i+1}: {A+B}')

 

 

7. 11022번

앞 번호 문제에 A와 B가 추가된 출력 형태

 

T = int(input())

for i in range(T):
    A, B = map(int, input().split())
    print(f'Case #{i+1}: {A} + {B} = {A+B}')

 

 

 

8. 2438번

반복문을 돌면서 star에 i+1만큼 곱해서 출력

(앞문제와 같이, i는 0부터 시작하기 때문에 1을 더해줘야 입력한 T만큼 별이 늘어난 것을 확인 할수 있음)

 

T = int(input())
star = '*'
for i in range(T):
    print(star*(i+1))

 

 

9. 2439번

출력할 공백의 갯수를 먼저 계산하고 계산된 값에 공백문자를 곱함

그리고 기존 출력되던 별을 더해줌

공백 갯수는 T에서 별의 갯수(i+1)를 뺀 갯수이기 때문에

print에서 바로 계산식을 넣어도 되지만 가독성을 높이기 위해 space 변수를 추가

 

T = int(input())
star = '*'
for i in range(T):
    space = T-(i+1)
    print(space*' '+star*(i+1))

 

 

10. 10871번

N만큼 돌고 

만약 A의 i번째값이 X보다 작다면 해당값(A[i])를 출력하고 개행(줄바꿈)을 없애줌 (end=" ")

 

N, X = map(int, input().split())
A = list(map(int, input().split()))

for i in range(N):
    if A[i] < X:
        print(A[i], end=" ")

 

 

11. 10952번

while문 True로 무한루프로 만들어주고

a, b 값을 받아

만약 두 값이 모두 0일 때 break,

나머지 경우에는 서로 곱셈

 

while True:
    a, b = map(int, input().split())
    if a == 0 and b == 0:
        break
    else:
        print(a+b)

 

 

12. 10951번

기본적으로 a, b 값을 받고 곱셈하지만 예외상황일 때 무한루프가 멈추도록 작성

 

while True:
    try:
        a, b = map(int, input().split())
    except:
        break
    print(a+b)

 

 

 

13. 1110번