728x90
반응형

단순 수학 문제이다.

for _ in range(int(input())):
    n = int(input())
    print(f"{n} is odd" if n%2 else f"{n} is even")
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

while 1:
    a, b = map(int, input().split())
    if a == b == 0:
        break
    print(f"{a//b} {a%b} / {b}")
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다. 처음엔 이렇게 길게 구현해서 통과했다.

a, b = map(int, input().split())
li = [a+b, a-b, a*b]
m = max(li)
idx = li.index(m)
m = m if m > 0 else f'({m})'
a = a if a > 0 else f'({a})'
b = b if b > 0 else f'({b})'

if li.count(m) > 1:
    print('NIE')
elif idx == 0:
    print(f"{a}+{b}={m}")
elif idx == 1:
    print(f"{a}-{b}={m}")
elif idx == 2:
    print(f"{a}*{b}={m}")

통과하고 나서 람다와 딕셔너리를 사용해서 다시 구현해봤는데 틀렸다는 결과가 나온다.

위의 코드랑 다른 점이 없는 것 같은데 뭐가 틀린 건지 모르겠다.

a, b = map(int, input().split())
d = {a+b:'+', a-b:'-', a*b:'*'}
li = list(d.keys())
m = max(li)

if li.count(m) > 1:
    print('NIE')
else:
    f = lambda x: f"({x})" if x < 0 else x
    print(f"{f(a)}{d[m]}{f(b)}={f(m)}")
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다. 처음엔 팩토리얼 함수를 직접 만들어서 테스트해봤는데 입력이 좀만 커져도 에러가 터져서 그냥 math 라이브러리에 있는 factorial을 사용했다.

from math import factorial

n = int(input())
print(str(factorial(n))[-1])
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다. 파이썬 짱!

for _ in range(int(input())):
    print(sum(map(int, input().split())))

 

728x90
반응형
728x90
반응형

단순 문자열 문제이다.

for _ in range(int(input())):
    L, D = input().split('-')
    n = int(D)
    s = 0
    for i in range(3):
        s += (ord(L[i])-65) * 26**(2-i)
    print("nice" if abs(s-n) <= 100 else "not nice")
728x90
반응형
728x90
반응형

단순 구현 문제이다. 

while 1:
    try:
        n, k = map(int, input().split())
        res = 0 
        res += n
        while n//k:
            res += n//k
            n = n//k + n%k
        print(res)
    except:
        break
728x90
반응형
728x90
반응형

브루트포스 알고리즘 문제이다. 최댓값이 몇 번 갱신되는지를 확인해주면 된다.

N = int(input())
li = [int(input()) for _ in range(N)]
left_cnt = right_cnt = 0
left_max = right_max = 0
for n in li:
    if n > left_max:
        left_max = n
        left_cnt += 1
for n in li[::-1]:
    if n > right_max:
        right_max = n
        right_cnt += 1
print(left_cnt)
print(right_cnt)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

for _ in range(int(input())):
    n = int(input())
    t = 0
    while (t+1) + (t+1)**2 <= n:
        t += 1
    print(t)
728x90
반응형
728x90
반응형

소수 관련 문제이다. 에라토스테네스의 체를 사용하면 쉽다.

n1, a = input().split()
n2 = int(a+n1)
n1 = int(n1)

li = [1]*(n2+1)
for i in range(2, int(n2**0.5)+1):
    if li[i] == 1:
        for j in range(i+i, n2+1, i):
            li[j] = 0
prime = [i for i in range(2, n2+1) if li[i] == 1]
print("Yes" if n1 in prime and n2 in prime else "No")
728x90
반응형
728x90
반응형

재밌는 수학 문제이다. (h*2-1)**2 - 4*(h*(h-1)//2)가 핵심인 것 같다. 더 좋은 수식이 있을 것 같기도 하고... 

n = int(input())
x = h = 0
while x <= n:
    h += 1
    x += (h*2-1)**2 - 4*(h*(h-1)//2)
if x > n:
    h -= 1
print(h)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:
    p, n = input().split()
    if p == '#':
        break
    n = int(n)
    while 1:
        c, a = input().split()
        if c == 'X':
            break
        a = int(a)
        if a > 68:
            continue
        if c == 'B' and n+a <= 68:
            n += a
        elif c == 'C' and n-a >= 0:
            n -= a
    print(p, n)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:
    l, w, h, v = map(int ,input().split())
    if l == w == h == v == 0:
        break
    if l == 0:
        l = (v//w//h)
    elif w == 0:
        w = (v//l//h)
    elif h == 0:
        h = (v//l//w)
    elif v == 0:
        v = (l*w*h)
    print(l, w, h, v)
728x90
반응형
728x90
반응형

단순 수학 문제이다.

for i in range(int(input())):
    a, b = map(int, input().split())
    res = (b-a+1) * (a+b)//2
    print(f"Scenario #{i+1}:")
    print(f"{res}\n")
728x90
반응형
728x90
반응형

단순 수학 문제이다.

for i in range(int(input())):
    li = sorted(map(int, input().split()))
    if li[0]**2 + li[1]**2 == li[2]**2:
        print(f"Scenario #{i+1}:")
        print("yes\n")
    else:
        print(f"Scenario #{i+1}:")
        print("no\n")
728x90
반응형

+ Recent posts