728x90
반응형

단순 사칙연산 문제이다. 이동거리 = 속도 * (연료양/연료소비율) = v * f/c

for _ in range(int(input())):
    N, D = map(int, input().split())
    cnt = 0
    for i in range(N):
        v, f, c = map(int, input().split())
        if v * f/c >= D:
            cnt += 1
    print(cnt)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:    
    M, A, B = map(int, input().split())
    if M == A == B == 0:
        break
    t = round((M/A - M/B)*3600)
    h = t//3600
    m = (t%3600) // 60
    s = t%60
    print("%d:%02d:%02d" % (h, m, s))
728x90
반응형
728x90
반응형

단순 수학 문제이다. 14924 폰 노이만과 파리와 비슷한 문제이다.

for _ in range(int(input())):
    N, D, A, B, F = map(float, input().split())
    T = D/(A+B) * F
    print("%d %.6f" %(N, T))
728x90
반응형
728x90
반응형

단순 수학 문제이다.

while 1:
    B, N = map(int, input().split())
    if B == N == 0:
        break
    i = 0
    while i**N < B:
        i += 1
    print(i if i**N-B < B-(i-1)**N else i-1)
728x90
반응형
728x90
반응형

단순 수학 문제이다. 2061 좋은 암호와 똑같은 문제 같다.

마찬가지로 에라토스테네스의 체를 사용하면 쉽게 풀 수 있다.

P, 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 = [i for i in range(2, K) if li[i] == 1]

good, bad = 1, 0
for n in prime:
    if P%n == 0:
        good, bad = 0, n
        break
print("GOOD" if good else f"BAD {bad}")
728x90
반응형
728x90
반응형

단순 수학 문제이다. 조금 꼼수를 써서 풀었다.

s = input()
c_li = s.split('d')
d_li = s.split('c')
res = 1
for c in c_li:
    if c == '': continue
    res = res * 26 * 25**(len(c)-1)
for d in d_li:
    if d == '': continue
    res = res * 10 * 9**(len(d)-1)
print(res)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

s = input()
if len(s) <= 2:
    print("◝(⑅•ᴗ•⑅)◜..°♡ 뀌요미!!")
else:
    ok = 1
    t = int(s[0])-int(s[1])
    for i in range(1, len(s)-1):
        if int(s[i])-int(s[i+1]) != t:
            ok = 0
    print("◝(⑅•ᴗ•⑅)◜..°♡ 뀌요미!!" if ok else "흥칫뿡!! <( ̄ ﹌  ̄)>")
728x90
반응형
728x90
반응형

기하학 문제이다.

R = 외접원 반지름 길이, r = 내접원 반지름 길이 

내심과 외심 사이의 거리 = (R * (R-2*r))**0.5

-> 내심과 외심 사이의 거리의 제곱 = R * (R-2*r)

EX) R = 4, r = 1 ->  4 * (4-2*1) = 4 * 2 = 8

R, r = map(int, input().split())
res = (R * (R-2*r))
print(res)
728x90
반응형
728x90
반응형

그리디 알고리즘 문제이다. Python3로 제출하니 시간 초과가 나와서 PyPy3로 제출했다.

N = int(input())
li = list(map(int, input().split()))
res = []
for i in range(N-1):
    cnt = 0
    for j in range(i+1, N):
        if li[i] > li[j]:
            cnt += 1
        else:
            break
    res.append(cnt)
print(max(res))
728x90
반응형
728x90
반응형

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

N, K = map(int, input().split())
li = [int(str(N*i)[::-1]) for i in range(1, K+1)]
print(max(li))

 

 

728x90
반응형
728x90
반응형

단순 정렬 문제이다.

import sys

N = int(sys.stdin.readline())
li = [int(sys.stdin.readline()) for _ in range(N)]
for n in sorted(li, reverse=True):
    print(n)
728x90
반응형
728x90
반응형

단순 정렬 문제이다.

N, M = map(int, input().split())
li1 = list(map(int, input().split()))
li2 = list(map(int, input().split()))
li = sorted(li1+li2)
print(*li)
728x90
반응형
728x90
반응형

단순 정렬 문제이다.

N, K = map(int, input().split())
li = sorted((map(int, input().split())))
print(li[K-1])
728x90
반응형
728x90
반응형

단순 정렬 문제이다. 조합을 사용하면 중복되는 수를 쉽게 제거할 수 있다.

N = int(input())
li = set(map(int, input().split()))
print(*sorted(li))

 

728x90
반응형
728x90
반응형

브루트포스 알고리즘 문제이다. i부터 pop하면 꼬여버려서 j, i 순서로 pop해줬다.

li = sorted([int(input()) for _ in range(9)])
fin = 0
for i in range(8):
    if fin: 
        break
    for j in range(i+1, 9):
        if sum(li)-li[i]-li[j] == 100:
            li.pop(j); li.pop(i)
            fin = 1
            break
for n in li:
    print(n)
728x90
반응형

+ Recent posts