problem-solving/Python

Ch3. 반복문 (Baekjoon)

c0dingcat 2024. 12. 27. 23:58

 

# 2739 - 구구단
n = int(input())

for i in range(1, 10): # 1부터 9까지 반복
    print(f'{n} * {i} = {n * i}')
  • range(10)과 같이 반복 횟수만 설정 시 0부터 반복 시작
  • format : 문자와 변수 자유롭게 사용 가능
    • print(f'  ') : 홑따옴표 내부에 입력

# 10950
t = int(input()) # 연산 횟수 설정

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

 

 

# 8393 - 1부터 n까지의 합
n = int(input())
add = 0

for i in range(n + 1): # n - 1값까지 반복하기에 n + 1로 해주어야 함
    add += i
    
print(add)
# 25304 - 영수증 금액 확인
x = int(input()) # 총 구매금액
n = int(input()) # 구매 물건 개수

price = 0
total_price = 0

for i in range(n):
    a, b = map(int, input().split()) # 물건 개수, 물건 금액
    price = a * b
    total_price += price

if total_price == x: # 계산된 값을 모두 더해서 총 구매금액과 맞는지 확인
    print("Yes") 
else:
    print("No")

 

# 25314 - 4의 배수만큼 long 출력 후 마지막에 int 출력
n = int(input())

for i in range(n // 4):
    print("long", end=" ") 
print("int")
  • 입력 : 4
  • 출력 : long long long long long int

 

# 15552
t = int(input())

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

 

# 11021 - 출력 양식에 맞게 덧셈 출력 (1)
t = int(input())

for i in range(1, t + 1):
    a, b = map(int, input().split())
    print(f'Case #{i}: {a + b}')

 

# 11022 - 출력 양식에 맞게 덧셈 출력 (2)
t = int(input())

for i in range(1, t + 1):
    a, b = map(int, input().split())
    print(f'Case #{i}: {a} + {b} = {a + b}

 

# 2438 - 별 찍기 (1)
n = int(input())

for i in range(1, n + 1):
    for j in range(i):
        print("*", end="")
    print()
  • 내부 반복문 밖에 print("\n")할 경우 print에 내장되어 있는 줄바꿈과 "\n"까지 총 두번 줄바꿈 되기 때문에 print()로 작성
  • 0번 줄에 별을 1개 출력하기 때문에 시작범위를 1로 지정
  • 별 출력 후 줄바꿈을 하면 안되기에 end=""하면 줄바꿈이 제거된다.

 

# 2439 - 별 찍기 (2)
n = int(input())

for i in range(1, n + 1):
    print(" " * (n - i), end="")
    print("*" * i)
  • 공백 먼저 출력 후 별을 출력
  • 공백 수 + 별 수(i) = n
  • Python에는 문자열 곱셈이 가능
    • 전체(n)에서 별 수 (i)를 뺀 게 공백 수이기 때문에 공백 문자열에 (n - i)를 곱셈
    • 공백 출력 이후 별 출력 -> 모든 별 출력 이후 줄바꿈 되기 때문에 end=" " 사용 x

 

 

# 10952
while(1):
    a, b = map(int, (input().split()))

    if a == 0 and b == 0:
        break

    print(a + b)
  •  0, 0 입력 시 덧셈 출력 종료

 

# 10951 
while(1):
    try:
        a, b = map(int, (input().split()))
        print(a + b)

    except:
        break
  • 정수 이외의 값 입력 시 except로 이동 -> break문 실행 후 종료

'problem-solving > Python' 카테고리의 다른 글

Ch2. 조건문 (Baekjoon)  (2) 2024.12.27
Ch1. 입출력 & 사칙연산 (Baekjoon)  (3) 2024.12.27