알고리즘 분류: 정렬 문제 링크: https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 【 문제 】 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 【 입력 】 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 n; pairmem_cop; vectormem; for (int i = 0; i < n; i++..
알고리즘 분류: 자료 구조, 문자열, 스택 문제 링크: https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 【 문제 】 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 '('와 ')' 만으로 구성되어 있는 문자열이다. 그중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 "()" 문자열은 기본 VPS이라고 부른..
알고리즘 분류: 자료 구조, 큐 문제 링크: https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 【 문제 】 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개..
알고리즘 분류: 자료 구조, 스택 문제 링크: https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 【 문제 】 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있..
【 스택(Stack) 이란? 】 C++의 STL 중 하나인 스택(Stack)은 후입선출(LIFO, Last-In-First-Out) 원칙에 따라 데이터를 저장하는 추상적인 자료 구조이다. 스택은 일종의 리스트로, 리스트의 한쪽 끝에서만 자료의 추가와 삭제가 가능하다. 스택은 컴퓨터 프로그램에서 임시 데이터나 함수의 호출 정보를 저장하는 데 많이 이용된다. 또한 다른 자료 구조를 구현하는 데에도 사용된다. 예를 들어 스택을 이용해 괄호의 짝을 검사하거나, 그래프 탐색 알고리즘에서 방문한 노드들의 순서를 기억하는 등에 활용된다. 일상생활에서 스택을 알 수 있는 예로는 책을 쌓아놓은 형태가 있다. 책을 쌓아놓은 모습이 스택의 push 연산과 유사하다. 새로운 책을 쌓으려면 책의 맨 위에 쌓아야 하듯이, 새로운..
【 큐(Queue) 란? 】 C++의 STL 중 하나인 큐(Queue)는 선입선출(FIFO, First-In-First-Out) 자료구조를 구현하는 컨테이너 클래스이다. 큐는 데이터를 삽입하는 enqueue와 데이터를 삭제하는 dequeue 연산을 지원한다. 일상생활에서 우리가 자주 접하는 큐의 예시로는 음식점에서 주문을 받는 경우를 들 수 있다. 음식점에서는 손님이 주문을 하면 주문서를 작성하고, 그 주문서는 주방에 전달되며 그 내용을 바탕으로 음식을 만들고 손님에게 전달한다. 이때 음식을 전달하는 과정은 큐의 구조처럼 주문이 들어온 순서대로 이루어진다. 【 큐(Queue)의 특징 】 큐는 다음의 특징이 있다. 선입선출(FIFO) 구조: 앞서 언급했듯이 선입선출 구조를 가지고 있어, 먼저 들어온 데이터..