[백준] 10214, 11557, 10845, 1158, 10866 (파이썬)

Colacan·2022년 1월 28일
1

[백준]

목록 보기
12/43

파이썬연습하기 문제집을 끝내고 다시 알고리즘 기초1을 시작했다. 문제 난이도가 올라갈수록 시간초과로 틀리는 경우가 많아지고 있다. 효율적으로 코드를 돌리는 방법에 대해서 고민을 꾸준히 해야할 것 같다.

백준 10214번 Baseball

T = int(input())
count_K,count_Y = 0,0
for i in range(T):
    for j in range(9):
        Y,K = map(int,input().split())
        count_Y +=Y
        count_K +=K
    if count_Y>count_K:
        print('Yonsei')
    elif count_Y<count_K:
        print('Korea')
    elif count_Y==count_K:
        print('Draw')

백준 11557번 Yangjojang of The Year

T = int(input())
max_drink = 0
max_school = ''
for i in range(T):
    N = int(input())
    for i in range(N):
        school,drink = input().split()
        if int(drink)>max_drink:
            max_drink = int(drink)
            max_school = school
    print(max_school)

백준 10845번 큐

from sys import stdin
N = int(stdin.readline())
queue =[]
for i in range(N):
    cmd = stdin.readline().split()
    if cmd[0]=='push':
        queue.append(cmd[1])
    elif cmd[0]=='pop':
        if len(queue)!=0:
            print(queue.pop(0))
        else:
            print(-1)
    elif cmd[0]=='size':
        print(len(queue))
    elif cmd[0]=='empty':
        if len(queue) == 0:
            print(1)
        else:
            print(0)
    elif cmd[0]=='front':
        if len(queue)!=0:
            print(queue[0])
        else:
            print(-1)
    elif cmd[0]=='back':
        if len(queue)!=0:
            print(queue[-1])
        else:
            print(-1)

백준 1158번 요세푸스 문제

from sys import stdin
N,K = map(int,stdin.readline().split())
N_list = list()
K_list = list()
count = 0
for i in range(1,N+1):
    N_list.append(i)
for j in range(N):
    count += K-1
    if count >= len(N_list):
        count = count%len(N_list)
    K_list.append(str(N_list.pop(count))) # join으로 리스트 불러옴
print('<'+', '.join(K_list)+'>')

백준 10866번 덱

from sys import stdin
N = int(stdin.readline())
Deque =[]
for i in range(N):
    cmd = stdin.readline().split()
    if cmd[0]=='push_front':
        Deque.insert(0,cmd[1])
    elif cmd[0]=='push_back':
        Deque.insert(len(Deque),cmd[1])
    elif cmd[0]=='pop_front':
        if len(Deque)!=0:
            print(Deque.pop(0))
        else:
            print(-1)
    elif cmd[0]=='pop_back':
        if len(Deque)!=0:
            print(Deque.pop(-1))
        else:
            print(-1)
    elif cmd[0]=='size':
        print(len(Deque))
    elif cmd[0]=='empty':
        if len(Deque) == 0:
            print(1)
        else:
            print(0)
    elif cmd[0]=='front':
        if len(Deque)!=0:
            print(Deque[0])
        else:
            print(-1)
    elif cmd[0]=='back':
        if len(Deque)!=0:
            print(Deque[-1])
        else:
            print(-1)
profile
For DE, DA / There is no royal road to learning

0개의 댓글