[코딩테스트] [1966] 프린터 큐 &[10866] 덱
·
알고리즘/Queue
[1966] 프린터 큐시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율2 초128 MB87682509864012458.876%문제여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다.현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다.나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤..
[코딩테스트] [Queue] [10845] 큐 & [15828] Router
·
알고리즘/Queue
Queue먼저 넣은 데이터가 먼저 나오는 형태(선입선출)의 자료구조를 의미한다. (First - In - First - Out)가장 뒤에 원소가 추가되고, 가장 앞에 원소가 처리된다.예를 들어, 티겟팅 대기열, 프린터 출력, 운영체제 스케줄링, 메세지 큐 등Queue 역시 인터페이스로 구현 되어 있다.Linked list 기반의 Queueenqueue: addLast를 사용해 리스트의 가장 앞 원소를 추가한다. (push)dequeue: removeFirst를 사용해 리스트의 가장 앞 원소를 삭제한다. (pop)public class MyListQueue { private int size = 0; private Node frontNode = null; private Node rearNode = null;..
[백준/실버Ⅳ] 큐 - 10845
·
알고리즘/백준
분류자료 구조, 큐 문제 설명정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다...
[백준/Silver II] 에디터 - 1406
·
알고리즘/List
분류자료 구조, 연결 리스트, 스택 문제 설명한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다.이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다.이 편집기가 지원하는 명령어는 다음과 같다.L 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨)D커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨)B커서 왼쪽에 있는 문자를 삭제함 (..
[SwiftDataStructure&Algorithms] 기본 데이터 구조(세트, 튜플)
·
Swift/정리
세트 선언 세트는 서로 중복되지 않고 unique, nil이 포함되지 않ㅇ느 non-nil 순위를 정의할 수 없는 무순위 컬렉션이다 세트는 형식상 Hashable 프로토콜에 부합, 스위프트의 모든 기본 타입은 기본적으로 Hashable 프로토콜을 따르도록 설계 열거형의 case값 역시 기본적으로 Hashable 프로토콜을 따른다. 세트에는 여러분이 만든 커스텀 타입도 저장할 수 있는데, 이때 Hashable 프로토콜과 Equatable 프로토콜에 부합해야만 함, Hashable은 Equatable을 상속한 프로토콜 순위가 중요치 않은 배열이라면 해당 데이터를 세트로 저장해도 큰 차이가 없으며, 이때는 해당 요소가 서로 중복되지 않도록 해야함 세트는 배열에 비해 매우 효율적이며, 데이터 접근 속도 역시 세..