티스토리 뷰
제 깃허브에서도 동일한 코드를 찾으실 수 있습니다. :)
https://github.com/kmi0817/coding_test_practice/tree/main/baekjoon_step/step3
1. 구구단 (2739번)
- 출력을 f 문자열(string)로 하니까 출력 형식이 잘못되었다고 나옵니다!
try :
N = int(input())
for i in range(1, 10) :
print(N, "*", i, "=", N * i)
# print(f"{N} * {i} = ", N * i)
except :
print("입력이 잘못되었습니다.")
2. A+B - 3 (10950번)
try :
cnt = int(input())
ab_list = list()
for i in range(cnt) :
temp_a, temp_b = input().split()
a = int(temp_a)
b = int(temp_b)
if a > 0 and b < 10 :
ab_list.append(int(temp_a))
ab_list.append(int(temp_b))
else :
print("수의 범위가 올바르지 않습니다.")
break
for i in range(0, cnt*2, 2) :
print(ab_list[i] + ab_list[i+1])
except :
print("입력이 잘못되었습니다")
3. 합 (8393번)
try :
n = int(input())
if n >= 1 and n <= 10000 :
sum = 0
for i in range(1, n+1) :
sum += i
print(sum)
else :
print("n의 범위가 잘못되었습니다.")
except :
print("입력이 잘못되었습니다.")
4. 빠른 A+B (15552번)
- sys.stdin.readline() : 반복하여 입력받을 때 속도가 느려지는 걸 방지합니다.
- import sys 필요
- 마지막에 개행문자\n가 포함되므로 문자열의 경우 rstrip() 사용하는 것이 바람직하다.
- rstrip() : 문자열의 오른쪽에 있는 공백문자를 제거합니다.
import sys
try :
T = int(input())
ab_list = list()
for i in range(T) :
temp_a, temp_b = sys.stdin.readline().rstrip().split()
a = int(temp_a)
b = int(temp_b)
if a >= 1 and a <= 1000 and b >= 1 and b <= 1000 :
ab_list.append(a)
ab_list.append(b)
else :
print("수의 범위를 확인하세요.")
exit(1)
for j in range(0, T*2, 2) :
print(ab_list[j] + ab_list[j+1])
except :
print('입력이 잘못되었습니다.')
5. N 찍기 (2741번)
try :
N = int(input())
if N >= 1 and N <= 100000 :
for i in range(1, N+1) :
print(i)
else :
print("N은 100,000 이하의 자연수입니다.")
except :
print("입력이 잘못되었습니다.")
6. 기찍 N (2742번)
try :
N = int(input())
if N >= 1 and N <= 100000 :
for i in range(N) :
print(N-i)
else :
print("N은 100,000 이하의 자연수입니다.")
except :
print("입력이 잘못되었습니다.")
7. A+B - 7 (11021번)
- for index, element in enumerate(list, 인덱스 시작 번호) : 리스트의 원소와 인덱스 값 2개의 변수를 사용할 수 있습니다.
- 인덱스 시작 번호 생략 가능하며, 생략 시 0부터 시작됩니다.
- enumerate() 없으면 오류!
- 문자열과 숫자를 함께 사용하려면, 숫자를 str()로 감싸 주어야 합니다.
try :
T = int(input())
ab_sum = list()
for i in range(T) :
temp_a, temp_b = input().split()
a = int(temp_a)
b = int(temp_b)
if a > 0 and b < 10 :
ab_sum.append(a+b)
else :
exit(1)
for index, result in enumerate(ab_sum, 1) :
print("Case #" + str(index) + ": " + str(result))
except :
print("입력이 잘못되었습니다.")
8. A+B -8 (11022번)
2차원 리스트를 사용했는데 뭔가 코드가 깔끔하지 않은 느낌이라서 찝찝하네요...
try :
T = int(input())
ab_list = list()
for i in range(T) :
temp_a, temp_b = input().split()
a = int(temp_a)
b = int(temp_b)
if a > 0 and b < 10 :
ab_list.append([a, b])
else :
print("수의 범위를 확인해주세요.")
for index, ab_pair in enumerate(ab_list, 1) :
print("Case #" + str(index) + ": " + str(ab_pair[0]) + " + " + str(ab_pair[1]) + " = " + str(ab_pair[0] + ab_pair[1]))
except :
print("입력이 잘못되었습니다.")
9. 별 찍기 - 1 (2438번)
- 문자열 * 숫자를 하면, 숫자만큼 문자열이 출력됩니다.
try :
N = int(input())
if N >= 1 and N <= 100 :
for i in range(1, N+1) :
print("*" * i)
except :
print("문제가 발생했습니다.")
10. 별 찍기 - 2 (2439번)
2개의 변수를 사용하는 for문으로 코드를 작성했습니다.
다른 프로그래밍 언어로 작성했다면 반복문의 인덱스 변수 값을 조작하는 걸 조금 고민해 봐야 했을 듯한데, 파이썬은 참 간단해요!
try :
N = int(input())
if N >= 1 and N <= 100 :
for astr, blank in enumerate(range(N-1, -1, -1), 1) :
print(" " * blank, end="")
print("*" * astr)
else :
print("N은 1 이상 100 이하의 정수입니다.")
except :
print("문제가 발생했습니다.")
11. X보다 작은 수 (10871번)
- end="" : print()문 출력 후 마지막 내용 수정할 수 있습니다.
- ex) end=" " - print()문 출력 후 개행문자\n 대신 띄어쓰기만 옵니다.
- ex2) end="입니다." - print()문 출력 후 "입니다."를 출력합니다.
try :
n, x = input().split()
N = int(n)
X = int(x)
if N in range(1, 10001) and X in range(1, 10001) :
temp_list = input().split()
for e in temp_list :
element = int(e)
if element < X :
print(element, end=" ")
else :
print("수의 범위를 확인하세요.")
except :
print("문제가 발생했습니다.")
백준 단계별로 풀어보기 2단계 if문 파이썬 정답 코드는 아래 제 블로그 링크를 타고 가시면 나옵니다:)
https://thisismi.tistory.com/8
728x90
'코딩 테스트 > 백준' 카테고리의 다른 글
백준 단계별로 풀어보기 6단계 함수 파이썬 정답 (0) | 2021.12.31 |
---|---|
백준 단계별로 풀어보기 5단계 1차원 배열 파이썬 정답 (0) | 2021.12.31 |
백준 단계별로 풀어보기 4단계 while문 파이썬 정답 (0) | 2021.12.30 |
백준 단계별로 풀어보기 2단계 if문 파이썬 정답 (0) | 2021.12.28 |
백준 단계별로 풀어보기 1단계 입출력과 사칙연산 파이썬 정답 (0) | 2021.12.27 |