알고리즘
[트리] 5639번 : 이진 검색 트리
- 출제 문제 해당 문제는 이진 검색 트리 원리를 이용한 문제이다. 전위로 주어진 입력에 대해 후위로 출력하면 성공할 수 있다. 만약, 추가적인 실습을 해 본다면 백준 1991번 문제를 참고하여 재귀의 순서만 바꿔 중위 순회로도 출력해 볼 수 있다. 하지만 해당 문제를 구현해 보려고 했지만 감이 안잡혀 직접 풀지 못해 다른 블로그를 참고하여 코드를 작성했다. https://www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net - 접근 방법 이진 검색 ..
[트리] 1991번 : 트리 순회
- 출제 문제 해당 문제는 그래프의 기본에 대해 배울 수 있는 문제이다. 입력 받은 이진트리에 대해 전위 순회 중위 순회, 우선 순회에 대해 실습할 수 있다. https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net - 접근 방법 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식) 중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식) 후위 순회한 결과 : DBEGFCA // (왼쪽 자식)..
[스택] 10773번 : 제로
1. 출제 문제 스택을 통해 구현하는 문제로 입력이 될 때마다 리스트에 넣고, 0이 입력되면 가장 최근의 수를 리스트에서 제거하는 문제이다. https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 2. 조건 확인 입력될 수의 총 개수가 K로 주어진다. 정수가 0이 아닐 경우 해당 수를 입력한다. 정수가 0일 경우 가장 마지막에 들어간 수가 삭제된다. 0은 리스트에 들어간 수보다 크다. 3. 접근 방법 우선 값이 입력되..
[스택] 10828번 : 스택
1. 출제 문제 스택의 기본 개념에 대해 알아볼 수 있는 문제이다. 스택의 기본적인 구조를 익혀 보았다. https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 2. 조건 확인 주어지는 명령어 N개에 대해 해당 작동을 수행한다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수..