본문 바로가기
Problem Solving/SWEA

[ SWEA ] D3 - 5603, 4299, 11736, 11856 - python 문제풀이

by IM조이 2021. 7. 14.

5603 건초더미

r = []
for tc in range(int(input())):
    N = int(input())
    info = [int(input()) for _ in range(N)]
    avg = sum(info)//N
    r.append("#{} {}".format(tc+1, sum([x-avg for x in info if x>avg])))
print("\n".join(r))

 

4299 태혁이의 사랑은 타이밍
접근법 : 케이스 나눠서 접근 => 그냥 보유한 시간을 모두 분으로 바꿔서 빼기만 해도 풀수있음

res = []
for tc in range(int(input())):
    D,H,M = map(int, input().split())
    r = -1
    if D==11:
        if H==11 and M>=11:
            r = M-11
        elif H>11:
            r = 60*(H-11)+M-11
    elif D>11:
        m = M-11
        h = H-11
        d = D-11
        if m<0:
            h -= 1
            m += 60
        if h<0:
            h += 24
            d -= 1
        r = m+60*h+60*24*d
    res.append("#{} {}".format(tc+1,r))
print("\n".join(res))

 

11736 평범한 숫자
접근법 : i-1,i,i+1 인덱스의 값을 세트로 생각하고 이동하면서 판별

r = []
for tc in range(int(input())):
    N = int(input())
    li = list(map(int, input().split()))
    cnt = 0
    for i in range(1,N-1):
        if li[i-1]<li[i] and li[i]<li[i+1]:
            cnt += 1
        elif li[i-1]>li[i] and li[i]>li[i+1]:
            cnt += 1
    r.append("#{} {}".format(tc+1, cnt))
print("\n".join(r))

 

11856 반반

for tc in range(int(input())):
    s = sorted(list(input()))
    print("#{} {}".format(tc+1, 'Yes' if s[0]==s[1] and s[2]==s[3] and s[1] != s[2] else 'No'))

 

댓글