목록자료구조 (42)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c8GwJB/btrJNHRasMP/k6tzLPtz91bPeI7pmg40fk/img.png)
👉 문제링크 15828번: Router 인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에 www.acmicpc.net 🔸 문제 분석 🔸 간단한 큐 구현 문제이다. 🔸 코드 🔸 from collections import deque from sys import stdin,stdout input = stdin.readline print = stdout.write N = int(input()) n = 0 que = deque() while n != -1: n = int(input()) if n == 0: que.popleft() elif n > 0 and len(que) < ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bYPvy0/btrJNI3z0Q7/9vriWvllk5yRpMzsfYOwq1/img.png)
👉 문제링크 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 🔸 문제 분석 🔸 큐를 구현해서 원소가 1개가 남을때까지 반복하는 문제이다. 🔸 코드 🔸 from collections import deque N = int(input()) que = deque(range(1,N+1)) while len(que) != 1: print(que.popleft(),end=" ") # que.append(que.popleft()) que.rotate(-1) print(que.pop()) 🔸 코드 해석 🔸 데크를 이용해서 구..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcggPm/btrJD22dHoW/O00k80KRLAcLhgACACs4Pk/img.png)
👉 문제링크 12873번: 기념품 백준이는 BOJ 알고리즘 캠프 참가자 중 한 명에게 기념품을 주려고 한다. 하지만, 많은 참가자 중에서 어떤 사람을 뽑아서 기념품을 줘야하는지 고민이 되기 시작했다. 따라서, 백준이는 게임을 www.acmicpc.net 🔸 문제 분석 🔸 1~N원소 중 1, 2, 3...의 3제곱 번째 원소를 제거하며 1개가 남을때까지 반복하는 문제이다. 🔸 코드 🔸 from collections import deque import math N = int(input()) t = 0 member = deque(range(1,N+1)) while len(member) != 1: t += 1 member.rotate(-((int(math.pow(t,3))%len(member))-1)) memb..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/5wvlQ/btrJGUPRHMJ/0sXa2G3BwSqSAoxkIGHGUK/img.png)
👉 문제링크 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 🔸 문제 분석 🔸 front, back 을 지원하는 queue를 구현하는 문제이다. 🔸 코드 🔸 import sys from collections import deque input = sys.stdin.readline print = sys.stdout.write que = deque() for i in range(int(input())): order = input().rstrip() if order[:4] == "push": ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pO87h/btrJIsrjpRz/NIHzak3ZixG66CG0OhPSi0/img.png)
👉 문제링크 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 🔸 문제 분석 🔸 후위 표기식을 구현하는 문제이다. 후위 표기식은 연산자 앞의 두 수에 연산자를 적용하는 계산법이다. 🔸 코드 🔸 N = int(input()) order = list(input()) num = [] for i in range(N): num.append(int(input())) stack = [] for i in order: if i >= 'A' and i