일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 조합
- SSAFY
- 중복 순열
- 링크드리스트
- 세그먼트 트리
- BeautifulSoup
- 순열
- 빠른 입출력
- 분할 정복
- 시뮬레이션
- 클래스
- 재귀
- DP
- 이분 탐색
- 메모리풀
- 그리디
- 비트마스크
- MST
- 크루스칼
- 피보나치 수
- 큐
- Knapsack
- BFS
- 문자열
- 우선순위 큐
- dfs
- 완전 탐색
- 백트래킹
- lis
- 스택
- Today
- Total
목록스택 (10)
작심 24/7
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dHHI9s/btqV19ur00x/K4sKnBepvYEtW4swBVsVw1/img.jpg)
2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net stack에 탑의 위치, 높이를 저장한 후 stack의 top 값 (= 이전 탑의 길이) 현재 탑의 길이 가 될 때까지 (= 수신할 수 있는 탑이 나올 때까지) 계속 pop 해버린다. → 수신할 수 있는 탑을 만나면 그 탑의 위치를 출력하고 현재 탑의 정보를 저장한다. → stack이 empty 상태가 되면..
3425번: 고스택 문제 고창영은 스택을 조금 변형해서 고스택을 만들었다. 고스택은 숫자만을 저장할 수 있고, 다음과 같은 10가지 연산을 수행할 수 있다. 편의상 스택의 가장 위에 저장된 수를 첫 번째 수라고 � www.acmicpc.net 구현이 귀찮았던 시뮬레이션 문제이다. 들어오는 명령어들을 저장한 후 입력 조건 중에 "명령어가 100,000개를 넘어가는 경우와 스택이 수행될 때, 1,000개 이상의 숫자를 저장하는 경우는 없다." 라는 구문이 있는데 명령어의 개수가 10만 개를 넘지 않는다는 말이었으나 '명령어 개수가 10만개를 넘어갈 때 저장되는 숫자가 1000개를 넘지 않지만 명령어의 개수는 10만개 이상일 수 있다' 라고 이해하고 최대 크기를 모르니 배열은 쓰지 못하겠다고 생각하여 각 명령..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cCKXTy/btqFiPrtAmW/iitSDC32vgoCeEgSUzgxIK/img.png)
15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커� www.acmicpc.net 문제에 나와 있는 예제인 (0, 0)에서 시작하는 0방향 0세대 드래곤 커브가 3세대까지 그려지는 과정은 끝점(1, 0)을 향해 0방향(오른쪽)을 가리키는 모양이다. 다음 세대를 위해 시작점을 가리키는 방향으로 뒤집어주면 2방향(왼쪽)을 가리키는 모양이 된다. 0세대 끝점 : (1, 0) 방향 : 2← 0세대의 끝점(1, 0)을 기준(고정)으로 시계 방향으로 90도 회전한 모양이다. 1세대의 끝점은 (1, -1)이 되고 다음 세대를 위..
9466번: 텀 프로젝트 문제 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 www.acmicpc.net DFS로 풀 수 있는 문제이다. 팀이 구성되는 경우는 사이클이 생기는 경우라 생각하면 된다. 사이클이 생기는 경우를 찾아주기 위해 current와 visited 배열이 필요하다. current엔 stack에 들어가 있는 애들을 표시해주고 visited는 비교가 끝난 애들을 체크해준다. 사이클이 생기는 경우엔 사이클의 시작과 끝을 담당하는 애를 leader에 넣어주고 current를 참고하여 사이클이 형성되는 부분까지는 팀이 구성되는 걸로 간주하여 카운트 값을 하나씩 ..
1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 www.acmicpc.net 5397번 키로거 문제와 같다. 커서를 기준으로 스택을 두 개 만든 뒤 L -> res가 비어있지 않으면 res의 top을 temp에 push D -> temp가 비어있지 않으면 temp의 top을 res에 push B -> res가 비어있지 않으면 pop P 문자 -> res에 문자 push 명령어에 따라 이렇게 구현해주면 된다. #include #include #include #include using namespace std; int main() { st..
5076번: Web Pages Input will consist of a number of lines of HTML code, each line containing from 0 to 255 characters. The last line will contain a single # character – do not process this line. Within the text of each line will be zero or more tags. No angle bracket will www.acmicpc.net 문제의 조건들을 나열해보면 1. 열린 태그와 닫힌 태그의 쌍이 맞아야 한다. (X) (O) 2. 한 태그 안에서 열고 닫을 수 있다. 3. 열린 태그 안에 문법이 들어갈 수 있다. 4. 올바르지 못..
https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 문제 상근이의 상상의 친구 외계인은 손가락을 수십억개 가지고 있다. 어느 날 외계인은 기타가 치고 싶었고, 인터넷에서 간단한 멜로디를 검색했다. 이제 이 기타를 치려고 한다. 보통 기타는 1 www.acmicpc.net stack을 이차원으로 선언하여 줄 번호에 따른 프렛의 번호를 push해주면 된다. 같은 줄일 때 1. stack의 top > 현재 프렛 stack의 top < 현재 프렛 될때까지 pop (손가락 떼는 것 +1) 현재 프렛 push (손가락 누르는 것 +1) 2. stack의 top < 현재 프렛 현재 프렛만 push 해준다. (손가락 누르는 것 +1) 3. stack의 top = 현재 프렛..
2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 조건 중에 '오목한 부분이 없어야 한다'가 제일 중요하다. 오목한 부분이 없으려면 가장 긴 기둥을 기준으로 왼쪽이 계단식으로 올라가고 오른쪽은 계단식으로 내려가는 형태를 띄워야 한다. 값을 입력받으면서 시작 기둥과 끝 기둥, 그 사이에 있는 가장 긴 기둥들의 시작 위치와 끝 위치를 구한 뒤 결괏값에 가장 긴 기둥들의 넓이를 먼저 더해준다. stack의 top < 현재 기둥 이 되면 한 단계 상승하는 것이므로 pop해주고 현재 기둥을 push해준 ..