728x90
반응형

단순 사칙연산 문제이다. 처음엔 아래 코드같이 풀었는데 통과가 안됐다. 뭐가 틀린 건지 아직 모르겠다.

while 1:
    A, B, C, D = map(int, input().split())
    if A == B == C == D == 0:
        break
    s1 = max(A, B)/max(C, D)
    s2 = min(A, B)/min(C, D)
    s = max(s1, s2)
    if s < 1:
        res = 100
    elif s > 100:
        res = 1
    else:
        res = int(100//s)
    print(f"{res}%")

결국 남의 코드를 참고해서 이분 탐색으로 해결했다.

while 1:
    A, B, C, D = map(int, input().split())
    if A == B == C == D == 0:
        break
    if A < B: 
        A, B = B, A
    if C < D: 
        C, D = D, C
    s, e = 1, 100

    while s <= e:
        mid = (s + e) // 2
        a, b = A*mid/100, B*mid/100
        ok = 0 if a > C or b > D else 1
        if ok: 
            s = mid+1
            ans = mid
        else: 
            e = mid-1
    print(f"{ans}%")
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for _ in range(int(input())):
    n = int(input())
    p1 = p2 = 0
    for i in range(n):
        a, b = input().split()
        if a == b:
            continue
        elif (a == 'R' and b == 'S') or (a == 'P' and b == 'R') or (a == 'S' and b == 'P'):
            p1 += 1
        else:
            p2 += 1
    if p1 > p2:
        print("Player 1")
    elif p1 < p2:
        print("Player 2")
    else:
        print("TIE")
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

while 1:
    a, b = input().split()
    if a == b == '0':
        break
    if len(a) > len(b):
        b = (len(a)-len(b))*'0' + b
    else:
        a = (len(b)-len(a))*'0' + a
    cnt = carry = 0
    for i in range(len(a)-1, -1, -1):
        if int(a[i]) + int(b[i]) + carry >= 10:
            cnt += 1
            carry = 1
        else:
            carry = 0
    print(cnt)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

while 1:
    a, b = map(int, input().split())
    if a == b == 0:
        break
    print("Yes" if a > b else "No")
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

while 1:
    a, b, c, d = map(int, input().split())
    if a == b == c == d == 0:
        break
    cnt = 0
    while not (a == b == c == d):
        a, b, c, d = abs(a-b), abs(b-c), abs(c-d), abs(d-a)
        cnt += 1
    print(cnt)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

n = int(input())
cnt = 0
if n <= 198:
    for i in range(1, 100):
        for j in range(1, 100):
            if i+j == n:
                cnt += 1
print(cnt)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for _ in range(int(input())):
    a, b = input().split()
    a, b = int(a[::-1]), int(b[::-1])
    res = int(str(a+b)[::-1])
    print(res)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다. 아래 두 개의 코드 모두 정답이다.

for _ in range(int(input())):
    n = int(input())
    b = bin(n)[2:]
    for i in range(len(b)):
        if b[::-1][i] == '1':
            print(i, end=' ')
for _ in range(int(input())):
    n = int(input())
    i = 0
    while n > 0:
        if n%2 == 1:
            print(i, end=' ')
        n = n//2
        i += 1
728x90
반응형
728x90
반응형

단순 수학 문제이다.

for _ in range(int(input())):
    li = list(map(int, input().split()))
    even_li = []
    for n in li:
        if n%2 == 0:
            even_li.append(n)
    print(sum(even_li), min(even_li))
728x90
반응형
728x90
반응형

단순 수학 문제이다.

N, W, H = map(int, input().split())
d = (W**2 + H**2)**0.5
for _ in range(N):
    n = int(input())
    print("DA" if n <= d else "NE")
728x90
반응형
728x90
반응형

단순 수학 문제이다.

h1, m1, s1 = map(int, input().split(':'))
h2, m2, s2 = map(int, input().split(':'))
t1 = h1*60*60 + m1*60 + s1
t2 = h2*60*60 + m2*60 + s2
t = t2 - t1 if t2 > t1 else t2-t1+24*60*60
h = t//60//60
m = t//60 % 60
s = t%60
print("%02d:%02d:%02d" % (h, m, s))
728x90
반응형
728x90
반응형

단순 구현 문제이다.

li = [1, 0, 0]
s = input()
for c in s:
    if c == 'A':
        li[0], li[1] = li[1], li[0]
    elif c == 'B':
        li[1], li[2] = li[2], li[1]
    else:
        li[0], li[2] = li[2], li[0]
print(li.index(1) + 1)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

A, B, C, D = map(int, input().split())
li = list(map(int, input().split()))
for n in li:
    attacked = 0
    if 0 < n % (A+B) <= A:
        attacked += 1
    if 0 < n % (C+D) <= C:
        attacked += 1
    print(attacked)
728x90
반응형
728x90
반응형

단순 구현(노가다) 문제이다.

a, b, c = map(int, input().split())
if a+b == c:
    print(f"{a}+{b}={c}")
elif a-b == c:
    print(f"{a}-{b}={c}")
elif a*b == c:
    print(f"{a}*{b}={c}")
elif a//b == c:
    print(f"{a}/{b}={c}")
elif a == b+c:
    print(f"{a}={b}+{c}")
elif a == b-c:
    print(f"{a}={b}-{c}")
elif a == b*c:
    print(f"{a}={b}*{c}")
elif a == b//c:
    print(f"{a}={b}/{c}")
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

while 1:
    a, op, b = input().split()
    if a == b == '0':
        break
    s = int(a)-int(b) if op == 'W' else int(a)+int(b)
    print("Not allowed" if s < -200 else s)
728x90
반응형

+ Recent posts