728x90
반응형

단순 문자열 문제이다. Python3로 제출하면 시간 초과가 나와서 PyPy3로 제출했다.

a, b = input().split()
res = 0
for n1 in a:
    for n2 in b:
        res += int(n1)*int(n2)
print(res)
728x90
반응형
728x90
반응형

단순 구현 문제이다. 운동을 끝내지 못할 때만 주의해주면 된다 -> m+T > N인 경우

N, m, M, T, R = map(int, input().split())
cnt = t = 0
now = m
while cnt < N:
    if m+T > M:
        break
    if now + T <= M:
        now += T
        cnt += 1
    else:
        now = max(now-R, m)
    t += 1
print(t if cnt == N else -1)
728x90
반응형
728x90
반응형

브루트포스 알고리즘 문제이다.

while 1:
    n = input()
    if n == '0':
        break
    s = sum(map(int, list(n)))
    i = 11
    while 1:
        t = int(n)*i
        if sum(map(int, list(str(t)))) == s:
            print(i)
            break
        i += 1
728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:
    n = int(input())
    if n == 0:
        break
    for i in range(1, n+1):
        print('*'*i)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:
    N = int(input())
    if N == 0:
        break
    li = list(map(int, input().split()))
    j = m = 0
    for n in li:
        if n == 1:
            j += 1
        else:
            m += 1
    print(f"Mary won {m} times and John won {j} times")
728x90
반응형
728x90
반응형

단순하지 않은 구현 문제이다. 쉽지 않았다...

N = int(input())
li = ['.'*(N+2)] + ['.'+input()+'.' for _ in range(N)] + ['.'*(N+2)]
res = []
for i in range(N):
    i += 1
    s = ''
    for j in range(N):
        j += 1
        if ord('0') <= ord(li[i][j]) <= ord('9'):
            s += '*'
        else:
            bomb = 0
            for a in range(i-1, i+2):
                for b in range(j-1, j+2):
                    if ord('0') <= ord(li[a][b]) <= ord('9'):
                        bomb += int(li[a][b])
            s += str(bomb) if bomb < 10 else "M"
    res.append(s)
for s in res:
    print(s)
728x90
반응형
728x90
반응형

구현 문제이다.

ft_split 과제를 할 때 만들었던 단어의 개수를 구해주는 함수와 똑같은 방식으로 해결한 것 같다. 

n, m = map(int, input().split())
li = [input() for _ in range(n)]
cnt = 0
for i in range(n):
    j = 0
    while j < m:
        if li[i][j] == '|':
            j += 1
        else:
            cnt += 1
            while j < m and li[i][j] == '-':
                j += 1
for j in range(m):
    i = 0
    while i < n:
        if li[i][j] == '-':
            i += 1
        else:
            cnt += 1
            while i < n and li[i][j] == '|':
                i += 1
print(cnt)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

N = input()
ok = 0
for i in range(1, len(N)):
    s1, s2 = N[:i], N[i:]
    m1 = m2 = 1
    for n in s1:
        m1 *= int(n)
    for n in s2:
        m2 *= int(n)
    if m1 == m2:
        ok = 1
        break
print("YES" if ok else "NO")
728x90
반응형
728x90
반응형

단순 구현 문제이다.

ms = input()
n = int(input())
li = sorted([input() for i in range(n)])
max_p = max_i = 0
for i in range(n):
    L = ms.count("L") + li[i].count("L")
    O = ms.count("O") + li[i].count("O")
    V = ms.count("V") + li[i].count("V")
    E = ms.count("E") + li[i].count("E")
    p = ((L+O)*(L+V)*(L+E)*(O+V)*(O+E)*(V+E)) % 100
    if max_p < p:
        max_p = p
        max_i = i
print(li[max_i])
728x90
반응형
728x90
반응형

단순 문자열 문제이다.

while 1:
    n = input()
    if n == '0':
        break
    print("yes" if n == n[::-1] else "no")
728x90
반응형
728x90
반응형

단순 수학 문제이다.

a, b = input().split()
a = int(a, 2)
b = int(b, 2)
res = bin(a+b)[2:]
print(res)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

try, except를 사용해 EOF이 될 때까지 입력을 계속 받아줘야 한다.

while 1:
    try:
        H, P = map(int, input().split())
        print("%.2f" % (H/P))
    except EOFError:
        break
728x90
반응형
728x90
반응형

단순 구현 문제이다.

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

단순 구현 문제이다.

t = int(input())
li = [int(input()) for _ in range(9)]
print(t-sum(li))
728x90
반응형
728x90
반응형

단순 구현 문제이다. 그냥 input 함수를 사용하면 시간 초과가 떠서 stdin.readline을 사용했다.

from sys import stdin

a = b = 0
for _ in range(int(stdin.readline())):
    A, B = map(int, stdin.readline().split())
    if A > B:
        a += 1
    elif A < B:
        b += 1
print(a, b)
728x90
반응형

+ Recent posts