728x90
반응형

단순 수학 문제이다.

N, K = map(int, input().split())
cnt = 0
for i in range(1, N+1):
    if N%i == 0:
        cnt += 1
        if cnt == K:
            print(i)
            break
if cnt < K:
    print(0)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for _ in range(3):
    s = sum(map(int, input().split()))
    if s == 4:
        print("E")
    elif s == 3:
        print("A")
    elif s == 2:
        print("B")
    elif s == 1:
        print("C")
    else:
        print("D")
728x90
반응형
728x90
반응형

단순 수학 문제이다.

li = []
for _ in range(int(input())):
    a, b, c = map(int, input().split())
    if a == b and b == c:
        li.append(10000 + a*1000)
    elif a == b:
        li.append(1000 + a*100)
    elif b == c:
        li.append(1000 + b*100)
    elif c == a:
        li.append(1000 + c*100)
    else:
        li.append(max(a, b, c)*100)
print(max(li))
728x90
반응형
728x90
반응형

최대값 찾기 문제이다. 2455번 지능형 기차 문제와 똑같다.

p = max_p = 0
for _ in range(10):
    a, b = map(int, input().split())
    if max_p < p-a+b:
        max_p = p-a+b
    p = p-a+b
print(max_p)
728x90
반응형
728x90
반응형

최대값 찾기 문제이다. 

p = max_p = 0
for _ in range(4):
    a, b = map(int, input().split())
    if max_p < p-a+b:
        max_p = p-a+b
    p = p-a+b
print(max_p)
728x90
반응형
728x90
반응형

소수 관련 문제는 항상 시간싸움인 것 같다. 에라토스테네스의 체는 알고 있으면 매우 편리한 것 같다.

L, K = map(int, input().split())
li = [1]*K
for i in range(2, int(K**0.5)+1):
    if li[i] == 1:
        for j in range(i+i, K, i):
            li[j] = 0
prime_li = [i for i in range(2, K) if li[i] == 1]

good = 1
for n in prime_li:
    if L%n == 0:
        print(f"BAD {n}")
        good = 0
        break
if good == 1:
    print("GOOD")

 

728x90
반응형
728x90
반응형

stdin.readline을 사용했는데도 시간 초과가 나와서 Python3 말고 PyPy3로 제출해서 통과했다.

from sys import stdin

def f(n, i):
    return 1 + f(n//i, i) if n%i == 0 else 0

for _ in range(int(stdin.readline())):
    N = int(stdin.readline())
    cnt = 0
    for i in range(2, N+1):
        cnt += f(N, i)
    print(cnt)
728x90
반응형
728x90
반응형

10**-4보다 작은 분수는 괜찮은데 그거보다 작은 분수는

1e-05와 같은 방식으로 저장이 되어있어서 따로 처리를 해줄 필요가 있다.

N = int(input())
s = "%.300f" % 2 ** -N
end = len(s)
for i in range(end-1, 1, -1):
    if s[i] != '0':
        end = i
        break
print(s[:end+1])
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

숫자들이 모두 양수이면 int 함수를 써서 더 간단하게 해결할 수 있는데

음수가 하나 끼어있어서 코드가 3줄 정도 추가되었다. 

d = {'-': 0, '\\': 1, '(': 2, '@': 3, '?': 4, '>': 5, '&': 6, '%': 7, '/': -1}
while 1:
    s = input()
    if s == '#':
        break
    res = 0
    for i in range(len(s)):
        res += d[s[i]] * 8**(len(s)-i-1)
    print(res)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:
    li = list(map(int, input().split()))
    if li[0] == 0:
        break
    n = 1
    for i in range(li[0]):
        sf = li[2*i + 1]
        p = li[2*i + 2]
        n = n*sf - p
    print(n)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

a, b = map(int, input().split())
x1 = (a-1)//4 + 1 
y1 = (a-1)%4
x2 = (b-1)//4 + 1 
y2 = (b-1)%4
print(abs(x2-x1) + abs(y2-y1))
728x90
반응형
728x90
반응형

단순 구현 문제이다.

li = [1, 2, 3]
for _ in range(int(input())):
    X, Y = map(int, input().split())
    x = li.index(X)
    y = li.index(Y)
    li[x], li[y] = li[y], li[x]
print(li[0])
728x90
반응형
728x90
반응형

생각보다 수학적으로 생각을 많이 하게 만드는 문제였다. 내일 다시 풀어봐야겠다.

N, L, D = map(int, input().split())
res = ok = 0
i = 1
while i*D <= N*(L+5) - 5:
    if L <= i*D % (L+5) <= L+4:
        res = i*D
        ok = 1
        break
    i += 1
print(res if ok else ((N*(L+5) - 5)//D + 1) * D)

 

728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:
    N = input()
    if N == '0':
        break
    res = len(N)+1
    for n in N:
        if n == '0':
            res += 4 
        elif n == '1':
            res += 2
        else:
            res += 3
    print(res)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

N = int(input())
li = list(map(int, input().split()))
y = m = 0
for n in li:
    y += (n//30 + 1) * 10
    m += (n//60 + 1) * 15
if m == y:
    print("Y M", m)
elif m < y:
    print("M", m)
else:
    print("Y", y)
728x90
반응형

+ Recent posts