목록전체 글 (601)
sm 기술 블로그
from collections import deque import sys input = sys.stdin.readline N = int(input()) queue = deque(list(i for i in range(1, N+1))) while(len(queue) != 1): queue.popleft() queue.append(queue.popleft()) print(queue.pop()) 문제요약 N장의 카드가 있는데 제일 위의 카드는 버리고 버리고 난 뒤 제일 위의 카드를 맨아래로 보내는 식으로 한장의 카드가 남을 때 까지 반복한다. 설명 큐를 이용한 쉬운 문제이다. 여기서 제일 위는 제일 앞을 뜻하므로 큐를 이용한다. queue = deque(list(i for i in range(1, N+1)))..
import java.util.*; import java.io.*; import java.math.BigInteger; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); Deque queue = new ArrayDeque(); for(int i = 0; i < N; i++) { String[] tmp = br.readLine().split(" "); S..
from collections import deque import sys input = sys.stdin.readline N = int(input()) queue = deque([]) result = [] for _ in range(N): tmp = input().split() if len(tmp) == 2: S = tmp[0] num = tmp[1] else: S = tmp[0] if S == "push": queue.append(num) elif S == "pop": if not queue: result.append(str(-1)) else: result.append(str(queue.popleft())) elif S == "size": result.append(str(len(queue))) elif..
import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); int[] A = new int[N]; int[] result = new int[N]; Stack stack = new Stack(); String[] S = br.readLine().split(" "); for (int i = 0; i..