www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net #include #include #include #include using namespace std; dequedq;// 읽은 배열 넣어서 놀기 inttest; stringcmd;// RD 커맨드 읽기 intn;// 배열의 총 개수 stringval;// 배열 읽기 intcnt;// D의 개수 판별용, 배열의 개수보다 크면 error intnum;// 배열 하나하나 저장하기 위한 수.... intidx;// 배열 탐색용 인덱스 intflag;// 정방향: 1, 역방향..
www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net #include #include #include #include using namespace std; dequedq;//출력할 스트링 stackst;//커서가 안으로 들어가면 뒤로 뺄 거 stringstr; intn; charcmd; /* **자료구조 문제에서는 왠지 모르게, '커서' 글자 나오면 스택과 큐를 생각하게 된다. **이 경우 커서 앞은 데큐, 뒤에는 스택을 두어서 진행 */ intmain() { ci..
www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net #include #include #include #include using namespace std; queuemem;// 인덱스 메모리 priority_queueprior;// 우선순위 inttest; intn; inttarget; intpaper; intcnt; /* **인덱스 메모리에 인덱스와 우선순위를 넣는다. **priority_queue를 활용하여 먼저 인쇄할 것을 결정한다. */ intmain() { ..
www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이 www.acmicpc.net #include #include #include #include using namespace std; dequedq;//출력 값(커서 앞) stack st;//출력 값(커서 뒤) stringstr; intn; intstr_len; intmain() { cin >> n; while (n--) { cin >> str; str_len = str.size(); for (int i = 0; i < str_len;..
www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 첫째 줄에 자연수 N(1≤N≤1,000)이 주어진다. 다음 줄에는 차례로 각 풍선 안의 종이에 적혀 있는 수가 주어진다. 편의상 0은 적혀있지 않다고 가정하자. www.acmicpc.net #include #include #include using namespace std; dequedq; intn; intmov; intnegative; intpaper[1001]; intmain() { cin >> n; for (int i = 1; i paper[i]; } cout
www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net #include #include #include #include using namespace std; queueq; stackst; intn; stringstr; doubleres; doublealpha[100]; doubleval; doubleb; doublea; intmain() { cin >> n; cin >> str; for (int i = 0; i < (int)str.size(); i++) ..
www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net #include #include using namespace std; queueq; intn; intmain() { cin >> n; for (int i = 1; i 1) { q.pop(); q.push(q.front()); q.pop(); } cout
www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net #include #include #include #include using namespace std; queueq; stackst; stringstr; intn; intcnt; intmain() { cin >> n; for (int i = 0; i > str; for (int j = 0; j < str.size(); j++) q.push(str[j]); while (!q.empty()) { ..
www.acmicpc.net/problem/2840 2840번: 행운의 바퀴 첫째 줄에 마지막 회전에서 화살표가 가리키는 문자부터 시계방향으로 바퀴에 적어놓은 알파벳을 출력한다. 이때, 어떤 글자인지 결정하지 못하는 칸은 '?'를 출력한다. 만약, 상덕이가 적어놓 www.acmicpc.net #include #include using namespace std; dequedq; intn; introll; charval; intstep; intvisited[100];// ascii 기준의 visited 배열 생성; int main(void) { cin >> n >> roll; for (int i = 0; i < n; i++) dq.push_back('?'); for (int i = 0; i < roll; i..
www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net #include #include using namespace std; queue q1; queue q2; int n; int num; int pick_num; int total; int cnt; int mov_count; int main(void) { cin >> n; for (int i = 1; i > num; while (++cnt > pick_num; if (q1.front() == pick_num) ..