728x90
반응형

단순한 정렬 문제이다. x, y축 중에서 제일 길이가 긴 구간을 찾아주면 된다.

n, m = map(int, input().split())
x = [0, n]; y = [0, m]
for _ in range(int(input())):
    t, a = map(int, input().split())
    if t == 0:
        y.append(a)
    elif t == 1:
        x.append(a)
x.sort(); y.sort()
max_x = max_y = 0
for i in range(len(x)-1):
    if max_x < x[i+1]-x[i]:
        max_x = x[i+1]-x[i]
for i in range(len(y)-1):
    if max_y < y[i+1]-y[i]:
        max_y = y[i+1]-y[i]
print(max_x*max_y)
728x90
반응형
728x90
반응형

생각보다 쉬운 문제이다. 30의 배수이려면 일단 맨 마지막 자리의 숫자가 0이어야 한다. 

그리고 3의 배수인지 확인하는 방식과 동일하게 30의 배수는 각 자리 숫자들의 합이 3의 배수이어야 한다.

이 점들과 정렬을 사용하면 문제를 정말 쉽게 풀 수 있다. 

숫자 안에 0이 안 들어있으면 어차피 30의 배수가 안되고, 0이 들어있어도 각 자리 숫자들의 합이 3의 배수가 아니면 어차피 30의 배수가 아니기에, 그냥 입력을 내림차순 정렬한 수가 30의 배수이면 출력, 아니면 -1을 출력해주면 된다. 

EX) n = 102 -> 210 -> 210%30 == 0 -> Ok!

EX) n = 2931 -> 9321 -> 9321%30 != 0 -> No!

s = sorted(input(), reverse=True)
n = int(''.join(s))
print(n if n % 30 == 0 else -1)
728x90
반응형
728x90
반응형

단순 정렬 문제이다.

li = list(map(int, input().split()))
for i in range(5):
    for j in range(4):
        if li[j] > li[j+1]:
            t = li[j]
            li[j] = li[j+1]
            li[j+1] = t
            print(*li)
728x90
반응형
728x90
반응형

단순 정렬 문제이다.

for _ in range(int(input())):
    li = sorted(list(map(int, input().split())))
    print(li[-3])
728x90
반응형
728x90
반응형

정확하게 이해한 건지는 모르겠지만

2부터 1000까지의 정수를 나눴을 때 나머지가 모두 같은 수를 찾으라는 것 같다. 

-1은 2부터 1000까지의 정수 중 어떤 수로 나누든 나머지가 -1이다!

print(-1)
728x90
반응형
728x90
반응형

단순 수학 문제이다.

문제에 나오는 수식 그림이 좀 이상한 것 같다. 띄어쓰기라도 좀 해줬으면 좋겠다...

while 1:
    d, rh, rv = map(float, input().split())
    if d == rh == rv == 0:
        break
    w = 16 * d / 337**0.5 
    h = w * 9/16
    print('Horizontal DPI: %.2f'%(rh/w))
    print('Vertical DPI: %.2f'%(rv/h))

 

728x90
반응형
728x90
반응형

단순 사칙연산 문제이다.

for _ in range(int(input())):
    s = int(input())
    for _ in range(int(input())):
        q, p = map(int, input().split())
        s += q*p
    print(s)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for i in range(int(input())):
    print(f"Hello World, Judge {i+1}!")
728x90
반응형
728x90
반응형

단순 구현 문제이다.

while 1:
    n = int(input())
    if n == 0:
        break
    a, b, c = map(int, input().split())
    if b-a == c-b:
        d = b-a
        print((n*(2*a + (n-1)*d)) // 2)
    elif b/a == c/b:
        r = b//a
        print(a*(r**n - 1)//(r-1))
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for case in range(int(input())):
    t = list(map(int, input().split()))
    n = t[0]; li = t[1:]
    res = []
    for i in range(n):
        res.append(li[i]*(n-i))
    print(f"Case {case+1}: {n-1}", *res)
728x90
반응형
728x90
반응형

단순 구현 문제이다.

from sys import stdin

for i in range(int(stdin.readline())):
    n = int(stdin.readline())
    li = [list(map(float, stdin.readline().split())) for n in range(n)]
    X = sorted(li, key=lambda x:x[0])
    Y = sorted(li, key=lambda x:x[1])
    print(f"Case {i+1}:", end=' ')
    if n == 1:
        area = 0; per = 0
    else:
        x = X[-1][0]-X[0][0]; y = Y[-1][1]-Y[0][1]
        area = x*y
        per = 2*(x+y)
    print(f"Area {area}, Perimeter {per}")
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for i in range(int(input())):
    a, b = map(int, input().split())
    print(f"Case {i+1}:", end=' ')
    if a == 0:
        print('0')
        continue
    if a//b:
        print(a//b, end=' ') 
    if a%b:
        print(f"{a%b}/{b}", end='')
    print()
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for i in range(int(input())):
    print(f"Case {i+1}: {sum(map(int, input().split()))}")
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for i in range(int(input())):
    n = int(input())
    print(f"Case {i+1}:")
    for a in range(1, 7):
        for b in range(a, 7):
            if a+b == n:
                print(f"({a},{b})")
728x90
반응형
728x90
반응형

단순 구현 문제이다.

for i in range(int(input())):
    print(f"Case {i+1}:")
    for _ in range(int(input())):
        n = int(input())
        if n > 5:
            continue
        print(n+1)
728x90
반응형

+ Recent posts