티스토리 뷰
1번에서 4번까지는 단순 출력 문제이고 5번에서 11번까지는 입출력을 포함한 사칙연산 문제입니다.
제 깃허브에도 동일한 코드가 업로드 되어 있습니다.
https://github.com/kmi0817/coding_test_practice/tree/main/baekjoon_step/step1
1. Hello World (2557번)
print("Hello World")
2. We love kriii (10718번)
for i in range(2) :
print("강한친구 대한육군")
3. 고양이 (10171번)
출력은 동일한 듯한데, 어떤 코드는 되고 어떤 코드는 안 되고... 예상치 못하게 애를 살짝 먹었습니다.
- escape 문자: \ 사용
print("\\ /\\")
print(" ) ( ')")
print("( / )")
print(" \(__)|")
4. 개 (10172번)
이것도 마찬가지로 출력은 같아도 되는 코드, 안 되는 코드가 있었습니다.
혹시 주석 처리한 코드의 출력이 정답 코드의 출력과 다르다면 알려주세요!
print("|\_/|")
print("|q p| /}")
print("( 0 )\"\"\"\\")
print("|\"^\"` |")
print("||_/=\\\\__|")
# 이건 틀렸다고 나옴...
# dog = """
# |\_/|
# |q p| /}
# ( 0 )\"\"\"\\
# |\"^\"` |
# ||_/=\\__|
# """
# print(dog)
5. A+B (1000번)
무척 간단한 내용이지만, 입력한 것이 정수인지, 범위는 알맞은지를 확인하기 위해 try ~ except문을 사용해 보았습니다.
try ~ except문을 거의 사용하지 않았던 터라 무척 어색하네요. 어떤 식으로 try except문을 작성하는지 많이 찾아봐야겠습니다.C언어로는 1 2 이런 식으로 입력받기 간단한데, 파이썬은 조금 복잡합니다. 이게 맞나...? 마음에 들지 않는 코드입니다,, (주석 처리된 코드)
<12월 28일 수정>
- A = input(), B = input()으로 코드 작성해도 입력을 1 (띄어쓰기) 4로 하든 1 (엔터) 4로 하든 상관없이 입력됩니다 :)
- split() 메소드는 리스트를 반환하는데, 이때 리스트 개수만큼의 변수를 왼쪽에 두면 각 변수에 각 원소가 초기화됩니다.
try :
A, B = input().split()
A = int(A)
B = int(B)
if A > 0 and B < 10 :
print(A+B)
except :
print("정수를 입력하시오")
# try :
# ab_list = input().split(" ")
# A = int(ab_list[0])
# B = int(ab_list[1])
# except :
# print("정수를 입력하세요")
# try :
# if A > 0 and B < 10 :
# print(A + B)
# except :
# print("문제가 발생했습니다.")
6. A-B (1001번)
try :
A, B = input().split()
A = int(A)
B = int(B)
if A > 0 and B < 10 :
print(A-B)
except :
print("정수를 입력하시오")
# try :
# ab_list = input().split(" ")
# A = int(ab_list[0])
# B = int(ab_list[1])
# except :
# print("정수를 입력하세요")
# try :
# if A > 0 and B < 10 :
# print(A - B)
# except :
# print("문제가 발생했습니다.")
7. AxB (10998번)
try :
A, B = input().split()
A = int(A)
B = int(B)
if A > 0 and B < 10 :
print(A * B)
except :
print("정수를 입력하시오")
# try :
# ab_list = input().split(" ")
# A = int(ab_list[0])
# B = int(ab_list[1])
# except :
# print("정수를 입력하세요")
# try :
# if A > 0 and B < 10 :
# print(A * B)
# except :
# print("문제가 발생했습니다.")
8. A/B (1008번)
"절대/상대오차가 10^-9 이하이면 정답이다"라는 문구가 있는데, 그걸 코드에 반영해야 하는 건가?
일단 단순히 나누어 보았습니다!
try :
A, B = input().split()
A = int(A)
B = int(B)
if A > 0 and B < 10 :
print(A/B)
except ZeroDivisionError :
print("0으로 나눌 수 없습니다")
except :
print("정수를 입력하시오")
# try :
# ab_list = input().split(" ")
# A = int(ab_list[0])
# B = int(ab_list[1])
# except :
# print("정수를 입력하세요")
# try :
# if A > 0 and B < 10 :
# print(A / B)
# except ZeroDivisionError :
# print("0으로 나눌 수 없습니다.")
# except :
# print("문제가 발생했습니다.")
9. 사칙연산 (10869번)
이때부터 살짝 try except문 사용 방법이 익숙해진 듯합니다. 위에 문제들처럼 굳이 try except문을 2개 만들 필요가 없을 것 같아요.
try :
a, b = input().split()
A = int(a)
B = int(b)
if A >= 1 and B <= 10000 :
print(A+B)
print(A-B)
print(A*B)
print(A//B)
print(A%B)
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
except :
print("정수를 입력하시오")
# try :
# ab_list = input().split(" ")
# A = int(ab_list[0])
# B = int(ab_list[1])
# if A >= 1 and B <= 10000 :
# print(A+B)
# print(A-B)
# print(A*B)
# print(A//B)
# print(A%B)
# except ZeroDivisionError :
# print("0으로 나눌 수 없습니다.")
# except :
# print("정수를 입력하세요.")
10. 나머지 (10430번)
- A in range(2, 10001) : 정수 A는 2와 10000 사이의 값인지 확인합니다. (10000 포함)
try :
a, b, c = input().split()
A = int(a)
B = int(b)
C = int(c)
# if A >= 2 and A <=10000 and B >= 2 and B <=10000 and C >= 2 and C <=10000 :
if A in range(2, 10001) and B in range(2, 10001) and C in range(2, 10001):
print((A+B)%C)
print(((A%C) + (B%C)) % C)
print((A*B)%C)
print(((A%C) * (B%C)) % C)
except :
print("정수를 입력하시오")
# try :
# abc_list = input().split(" ")
# A = int(abc_list[0])
# B = int(abc_list[1])
# C = int(abc_list[2])
# # if A >= 2 and A <=10000 and B >= 2 and B <=10000 and C >= 2 and C <=10000 :
# if A in range(2, 10001) and B in range(2, 10001) and C in range(2, 10001):
# print((A+B)%C)
# print(((A%C) + (B%C)) % C)
# print((A*B)%C)
# print(((A%C) * (B%C)) % C)
# else :
# print("범위가 올바르지 않습니다.")
# except :
# print("정수입력")
11. 곱셈 (2588번)
- 2번째로 입력받는 값은 문자열 그대로 둡니다.
- 문자열 인덱싱을 통해 일의 자리, 십의 자리, 백의 자리 숫자에 각각 접근한 뒤 int()를 적용합니다.
try :
x = int(input())
y = input()
last = x * int(y[2])
print(last)
middle = x * int(y[1])
print(middle)
first = x * int(y[0])
print(first)
result = x * int(y)
print(result)
except :
print("정수를 입력하세요")
728x90
'코딩 테스트 > 백준' 카테고리의 다른 글
백준 단계별로 풀어보기 6단계 함수 파이썬 정답 (0) | 2021.12.31 |
---|---|
백준 단계별로 풀어보기 5단계 1차원 배열 파이썬 정답 (0) | 2021.12.31 |
백준 단계별로 풀어보기 4단계 while문 파이썬 정답 (0) | 2021.12.30 |
백준 단계별로 풀어보기 3단계 for문 파이썬 정답 (0) | 2021.12.29 |
백준 단계별로 풀어보기 2단계 if문 파이썬 정답 (0) | 2021.12.28 |