목록분류 전체보기 (145)
공부 기록장
문제 설명 프린터는 요청된 것은 먼저 인쇄한다. = 상근이는 새로운 프린터기 내부 소프트웨어를 개발했는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄된다. 1. 현재 Queue의 가장 앞에 있는 문서의 '중요도'를 확인한다. 2. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있으면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄한다. 입력 첫 줄에 테스트케이스의 수가 주어지고 각 테스트케이스는 두 줄로 이루어져 있다. 첫 줄에는 문서의 개수 N과 몇 번째로 인쇄되었는지 궁금한 문서가 Queue에 몇 번째로 놓여 있는지 나타내는 정수 M이 주어진다. 두 번째 줄에는 N개의 문서의 중요도가 차례대로 주어진다. 중요도는 1 이상 9 이하의 정수이고 ..
문제 설명 1번부터 N번까지 N명의 사람이 원을 이루어 앉아있고, 양의 정수 K가 주어진다. 순서대로 K번째 사람을 제거하고, 한사람이 제거되면 남은 사람들고 이루어진 원을 따라 이 과정을 계속해나간다. 입력 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 7 3 출력 요세푸스 순열을 출력한다. 코드 n, k = map(int, input().split()) li =[i+1 for i in range(n)] # [1,2,3,4,5,6,7] idx = k-1 answer = [] while li: answer.append(li[idx]) del li[idx] idx += (k-1) if len(li) == 0: break idx %= len(li) print("") ..
문제 설명 정수를 저장하는 덱을 구현하고 입력으로 주어지는 명령을 처리하는 프로그램 작성하기 명령은 총 8가지 push_front X : 정수 X를 덱의 앞에 넣기 push_back X : 정수 X를 덱의 뒤에 넣기 pop_front : 덱의 가장 앞에 있는 수를 빼고 출력, 덱에 정수 없으면 -1 출력 pop_back : 덱의 가장 뒤에 있는 수를 빼고 출력, 덱에 정수 없으면 -1 출력 size : 덱에 들어있는 정수의 개수를 출력 empty : 덱이 비어있으면 1, 아니면 0 front : 덱의 가장 앞에 있는 정수 출력, 덱에 정수 없으면 -1 출력 back : 덱의 가장 뒤에 있는 정수 출력, 덱에 정수 없으면 -1 출력 입력 첫째 줄에 명령의 수 N이 주어진다. 둘째 줄부터 명령이 하나씩 주어..
문제 설명 0을 외칠 경우 가장 최근에 쓴 수가 지워진다. 지워진 수를 제외한 모든 수를 받아 적은 후, 그 수의 합을 구해보자. 입력 첫 번째 줄에 정수 K가 주어진다. 이후 K개의 줄에 정수가 하나씩 주어지고, 정수는 0에서 1,000,000사이의 값을 가지며, 정수가 0인 경우에는 최근에 쓴 수를 지우고, 아닐 경우에 해당 수를 쓴다. (정수가 0인 경우 지울 수 있는 수가 있음을 보장한다.) 출력 최종적으로 적어낸 수의 합을 출력 N = int(input()) num = [] for i in range(N): x = int(input()) if x == 0: num.pop() else: num.append(x) print(sum(num)) 시간 제한이 1초인데, 입력으로 주어지는 N은 100,00..