728x90
반응형

단순 사칙연산 문제이다.

N, M = map(int, input().split())
h = max(map(int, input().split()))
a = max(map(int, input().split()))
print(h+a)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

L, R, A = map(int, input().split())
a, b = min(L, R), max(L, R)
t = min(A, b-a)
a += t
A -= t
res = a*2 + (A//2*2 if A else 0)
print(res)
728x90
반응형
728x90
반응형

단순 문자열 문제이다.

while 1:
    s = input()
    if s == '#':
        break
    li = s.split()
    for t in li:
        print(t[::-1], end=' ')
    print()
728x90
반응형
728x90
반응형

단순 문자열 문제이다.

for _ in range(int(input())):
    d = {"TTT": 0, "TTH": 0, "THT": 0, "THH": 0, "HTT": 0, "HTH": 0, "HHT": 0, "HHH": 0}
    s = input()
    for i in range(38):
        d[s[i:i+3]] += 1
    for t, n in d.items():
        print(n, end=' ')
    print()
728x90
반응형
728x90
반응형

단순 문자열 문제이다.

for _ in range(int(input())):
    n, s = input().split()
    if s == "kg":
        print("%.4f %s" % (float(n)*2.2046, "lb"))
    elif s == "lb":
        print("%.4f %s" % (float(n)*0.4536, "kg"))
    elif s == "l":
        print("%.4f %s" % (float(n)*0.2642, "g"))
    elif s == "g":
        print("%.4f %s" % (float(n)*3.7854, "l"))
728x90
반응형
728x90
반응형

단순 문자열 문제이다.

for _ in range(int(input())):
    i, s = input().split()
    i = int(i); s = list(s)
    s.pop(i-1)
    print("".join(s))
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

N = int(input())
li = [list(map(int, input().split())) for _ in range(N)]
for i in range(N):
    s = 0
    for j in range(3):
        t = li[i][j]
        ok = 1
        for k in range(N):
            if k == i:
                continue
            if li[k][j] == t:
                ok = 0; break
        if ok == 1:
            s += t
    print(s)
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

for _ in range(int(input())):
    s = input().split()
    n = float(s[0])
    for op in s[1:]:
        if op == '@':
            n *= 3
        elif op == '%':
            n += 5
        elif op == '#':
            n -= 7
    print("%.2f" % (n))
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for _ in range(int(input())):
    s = input()
    n = str(int(s) + int(s[::-1]))
    print("YES" if n == n[::-1] else "NO")
728x90
반응형
728x90
반응형

단순 사칙연산 문제이다. round 함수는 사사오입 원칙을 따라서 정확하게 반올림되지 않을 때가 있다.

EX) round(3.275, 2) = 3.27 

그래서 그냥 10**-10을 더해주는 꼼수를 부렸다.

원래는 반올림 함수를 직접 구현하는 게 맞는데 귀찮아서 이렇게 풀었다.

d = {"A+": 4.3, "A0": 4.0, "A-": 3.7, "B+": 3.3, "B0": 3.0, 
     "B-": 2.7, "C+": 2.3, "C0": 2.0, "C-": 1.7, "D+": 1.3, 
     "D0": 1.0, "D-": 0.7, "F": 0.0}
N = t = 0
for _ in range(int(input())):
    s, n, g = input().split()
    n = int(n) 
    N += n
    t += n*d[g]
print("%.2f" % (round(t/N + 10**-10, 2)))
728x90
반응형
728x90
반응형

단순 수학 문제이다.

li = sorted([int(input()) for _ in range(5)])
print(sum(li)//5)
print(li[2])
728x90
반응형
728x90
반응형

단순 구현 문제이다. 처음엔 아래 코드처럼 풀고

H, W = map(int, input().split())
res = []
for _ in range(H):
    s = input()    
    li = []
    c_idx = -1
    for i in range(W):
        if s[i] == 'c':
            li.append(0)
            c_idx = i
        elif c_idx == -1:
            li.append(-1)
        else:
            li.append(i-c_idx)
    res.append(li)
for a in res:
    print(*a)

마지막에 이렇게 고쳤다. 둘 다 통과됐다.

H, W = map(int, input().split())
for _ in range(H):
    s = input()    
    c_idx = -1
    for i in range(W):
        if s[i] == 'c':
            c_idx = i
            print(0, end=' ')
        elif c_idx == -1:
            print(-1, end=' ')
        else:
            print(i-c_idx, end=' ')
    print()
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for case in range(int(input())):
    words = [input() for _ in range(int(input()))]
    print(f"Scenario #{case+1}:")
    for _ in range(int(input())):
        li = list(map(int, input().split()))
        k, li = li[0], li[1:]
        res = ''.join([words[i] for i in li])
        print(res)
    print()
728x90
반응형
728x90
반응형

단순 정렬 문제이다. 파이썬 짱!

li = []
for _ in range(int(input())):
    n, d, m, y = input().split()
    li.append([n, int(d), int(m), int(y)])
li.sort(key=lambda x:(x[3],x[2],x[1]))
print(li[-1][0])
print(li[0][0])
728x90
반응형
728x90
반응형

단순 구현 문제이다.

N, M = map(int, input().split())
li = [[0]*100 for _ in range(100)]
for _ in range(N):
    x1, y1, x2, y2 = map(int, input().split())
    for i in range(x1, x2+1):
        for j in range(y1, y2+1):
            li[i-1][j-1] += 1
cnt = 0
for i in range(100):
    for j in range(100):
        if li[i][j] > M:
            cnt += 1
print(cnt)
728x90
반응형

+ Recent posts