일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 운영체제
- 고득점Kit
- 쿠쉬쿠쉬
- C
- Python
- 알고리즘
- BruteForceSearch
- OS
- 해시
- 코딩테스트
- 코딩테스트준비
- 그래프
- hash
- 파이썬
- 동적계획법
- BFS
- 코테준비
- Algorithm
- 면접질문
- 2색칠하기
- Lv.1
- 프로그래머스
- LV.3
- 문제풀이
- Java
- Lv.2
- 단지번호붙이기
- 이분그래프판별
- C++
- Today
- Total
목록알고리즘/L11~13 자료구조 (11)
쿠쿠의기록
문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다. 여러분은 입력으로 주어진 괄호 문자열..
#include #include int main() { int result[60],resultlen=0; bool flag = false; char data[30]; int len; int cursor = 0; char myStack[30], myTop=0; char curAlpha = 'a'; scanf("%s",data); len = strlen(data); while(1){ char topElement; if(myTop==0) topElement = 0; else topElement = myStack[myTop-1]; char currentElement = data[cursor]; if(topElement == currentElement){ myStack[myTop-1] = 0; myTop--; r..
문제 이 문제에서는 스택을 구현한다. 스택은 다음 세 개의 연산을 지원한다. Push X : 스택에 정수 X를 push한다. 만약 스택이 꽉 차서 push를 할 수 없다면, “Overflow”를 출력한다. Pop : 스택에서 정수 하나를 pop한다. 만약 스택이 비어있어서 pop을 할 수 없다면, “Underflow”를 출력한다. Top : 스택의 top에 있는 정수를 출력한다. 만약 스택이 비어있다면 “NULL”을 출력한다. 크기가 n인 스택에 m개의 연산을 하는 프로그램을 작성하시오. 입력의 편의를 위해서 Push는 “1”, Pop은 “2”, Top은 “3”으로 표현한다. 입력 첫째 줄에 스택의 크기 n, 연산의 개수 m이 주어진다. ( 1