Algorithm Problems

[백준][Python] 15828번 Router - 원형 큐

WakaraNai 2021. 8. 1. 11:19
728x90
반응형

https://www.acmicpc.net/problem/15828

 

15828번: Router

인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에

www.acmicpc.net

 

 

Python

import sys
input = sys.stdin.readline

n = int(input())
router = [0]*n
front, rear = 0, -1
length = 0

x = int(input())
while x != -1:
    if x == 0:
        front = (front+1)%n
        length -= 1
    elif length < n:
        rear = (rear+1)%n
        router[rear] = x
        length += 1
            
    x = int(input())


if length == 0:
    print("empty")
elif front <= rear:
    print(" ".join(map(str, router[front:rear+1])))
else:
    print(" ".join(map(str, router[front:]+router[:rear+1])))
        #for i in range(front,n):
        #    print(router[i], end = " ")
        #for i in range(0, rear+1):
        #    print(router[i], end = " ")
728x90
반응형