21번
A = int(input())
Operator = input()
B = int(input())
if Operator == '+':
print(A + B)
else:
print(A * B)
22번
s = int(input())
if 90 <= s <= 100:
print('A')
elif 80 <= s <= 89:
print('B')
elif 70 <= s <= 79:
print('C')
elif 60 <= s <= 69:
print('D')
else:
print('F')
23번
A, B, C = map(int, input().split())
if A >= B >= C:
print(B)
elif A >= C >= B:
print(C)
elif B >= A >= C:
print(A)
elif B >= C >= A:
print(C)
elif C >= A >= B:
print(A)
else:
print(B)
24번
N = int(input()) #나누어지는 수
D = 2 #나누는 수(소인수)
while N!= 1:
if N % D != 0:
D += 1
else:
N //= D
print(D)
- N이 1이 아닌 동안 만약 N을 D로나눈 나머지가 0이 아니라면 D에 1을 더함.(D가 2로 안나누어지면 3이 됨)
- N을 D로 나누고 다시 할당하고 D를 출력
25번
S = int(input())
N = 0
result = 0
for i in range(1, S+1):
result += i
N += 1
if(result > S):
N -= 1
break;
print(N)
- S까지 1씩 더해가면서 그 값을 더해주면서 그 값이 S보다 커지면 그 직전 값이 정답이 된다.
26번
Y = int(input())
if (Y % 4 == 0 and Y % 100 != 0) or Y % 400 == 0:
print(1)
else:
print(0)
- 문제 그대로 4로 나눴을때 나머지가 0 이고, 100으로 나눴을때 0이 아니면 1을 출력해준다. 또는 400을 나눴을때 나머지가 0이면 1을 출력해준다. 그게 아니라면 0을 출력한다.
27번
sum = 0
for i in range(5):
score = int(input())
if score < 40:
score = 40
sum += score
print(int(sum/5))
- sum을 변수로 선언해줌.
- 5까지 반복문 돌려주고 sum에다가 반복을 통해 나온 값 더해줌
- sum을 5로 나눠주고 정수형으로 바꿔줌
28번
C = int(input())
for i in range(C):
A, B = map(int, input().split())
num1 = A
num2 = B
while num2 != 0:
temp = num1
num1 = num2
num2 = temp % num2
print(A*B//num1)
- 유클리드호제법을 이용하여 최대공약수를 구한 뒤, 최소공배수를 구한다.
29번
a, b, c = map(int, input().split())
if a == b == c:
print(10000+ a * 1000)
elif a == b:
print(1000 + a * 100)
elif b == c:
print(1000 + b * 100)
elif a == c:
print(1000 + a * 100)
else:
print(100 * max(a, b, c))
30번
while True:
a, b = map(int, input().split())
if a == 0 and b == 0:
break
if a > b:
print("Yes")
else:
print("No")