https://www.acmicpc.net/step/3
반복문 단계
1부터 N까지의 합을 구하는 문제. 물론 반복문 없이 풀 수도 있습니다.
www.acmicpc.net
# 2739 : 구구단
N = int(input())
for i in range(1, 10):
print("{} * {} = {}".format(N, i, N*i))
# 10950 : A+B - 3
T = int(input())
for i in range(T):
a, b = map(int, input().split())
print(a+b)
# 8393 : 합
n = int(input())
result = 0
for i in range(1, n+1):
result += i
print(result)
a += i : a = a + i
# 25304 : 영수증
x = int(input())
n = int(input())
y = 0
for i in range(n):
a, b = map(int, input().split())
y += a*b
if x == y:
print("Yes")
else:
print("No")
# 15552 : 빠른 A+B
import sys
T = int(input())
for i in range(T):
a, b = map(int, sys.stdin.readline().split())
print(a+b)
Colab에서는 error 발생 (IDLE Shell에서 실행시 정상적으로 작동)
- input()과 sys.stdin.readline()의 차이점
- input은 입력받은 값의 개행(줄바꿈, \n) 문자를 삭제시켜 받아옴
- sys.stdin.readline은 개행 문자를 포함한 값을 받아옴 => input보다 빠름. 줄바꿈을 한 정보를 입력받을 때도 유용함
- sys.stdin.readline()
- 한줄 단위로 입력받기 때문에 개행문자가 같이 입력 받아짐 (ex. 3 입력 -> 3\n 저장)
- ^z를 사용하면 입력받기를 종료해줌
- 변수 타입이 문자열 형태(str)로 저장됨
- 개행문자를 제거하기 위해 int()(정수의 경우), strip()(문자열의 경우; 문자열 맨 앞과 맨 끝의 공백문자 제거) 이용
# 11021 : A+B - 7
T = int(input())
for i in range(1, T+1):
a, b = map(int, input().split())
print(f"Case #{i}: {a+b}")
# 11022 : A+B - 8
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):
print("*"*i)
# 2439 : 별 찍기 - 2
n = int(input())
for i in range(1, n+1):
print(" "*(n-i)+"*"*i)
# 10871 : X보다 작은 수
n, x = map(int, input().split())
n_list = list(map(int, input().split()))
result_list = []
for i in n_list:
if i < x:
result_list.append(str(i))
print(" ".join(result_list))
- join
- "구분자".join(리스트) : 리스트의 값들 사이에 구분자를 넣어서 하나의 문자열로 합쳐줌
# 10952 : A+B - 5
while True:
a, b = map(int, input().split())
if a == 0 and b == 0:
break
else:
print(a+b)
# 10951 : A+B - 4
while True:
try:
a, b = map(int, input().split())
print(a+b)
except:
break
- try / except 를 이용한 예외 처리
- try : 예외가 발생할 가능성이 있는 코드
- except : 예외가 발생했을 때 실행할 코드
# 1110 : 더하기 사이클
n = int(input())
num = n
i = 0
while True:
i += 1
if num < 10:
num = num * 10 + num
else:
num = (num%10) * 10 + (num//10 + num%10)%10
if num == n:
break
print(i)
- num % 10 : 두 자리 수에서 일의 자리 수 출력
- num // 10 : 두 자리 수에서 십의 자리 수 출력
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BAEKJOON] 단계별로 풀어보기 6. 문자열 (1) | 2022.10.01 |
---|---|
[BAEKJOON] 단계별로 풀어보기 5. 함수 (0) | 2022.09.16 |
[BAEKJOON] 단계별로 풀어보기 4. 1차원 배열 (0) | 2022.09.13 |
[BAEKJOON] 단계별로 풀어보기 2. 조건문 (0) | 2022.09.09 |
[BAEKJOON] 단계별로 풀어보기 1. 입출력과 사칙연산 (0) | 2022.09.09 |