dev/algorithm

BOJ / 15828번 / Router [Go][Python3]

crscnt 2021. 3. 11. 21:00

👩🏻‍💻 문제

 

15828번: Router

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

www.acmicpc.net


✍🏻 풀이

🎨 Go

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

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var n int
	fmt.Fscanln(reader, &n)
	var queue []int
	for {
		var input int
		fmt.Fscanln(reader, &input)
		if input == -1 {
			break
		} else if input == 0 {
			queue = queue[1:]
		} else {
			if len(queue) < n {
				queue = append(queue, input)
			}
		}
	}
	if len(queue) == 0 {
		fmt.Fprintln(writer, "empty")
	} else {
		for i := 0; i < len(queue); i++ {
			fmt.Fprintf(writer, "%d ", queue[i])
		}
	}
}

🎨 Python3

# https://www.acmicpc.net/problem/15828
import sys
import queue

if __name__ == "__main__":
    n = int(sys.stdin.readline())
    q = queue.Queue()
    while True:
        input = int(sys.stdin.readline())
        if input == -1:
            break
        elif input == 0:
            q.get()
        else:
            if q.qsize() < n:
                q.put(input)
    if q.qsize() == 0:
        print("empty")
    else:
        while not q.empty():
            print("{} ".format(q.get()), end='')
728x90