Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코루틴 빌더
- taint
- table not found
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- 티스토리챌린지
- PersistenceContext
- 달인막창
- 개성국밥
- VARCHAR (1)
- JanusWebRTC
- vfr video
- Spring Batch
- kotlin
- preemption #
- mp4fpsmod
- terminal
- python
- JanusWebRTCGateway
- 코루틴 컨텍스트
- 깡돼후
- Value too long for column
- 겨울 부산
- 오블완
- 자원부족
- pytest
- PytestPluginManager
- JanusGateway
- tolerated
- JanusWebRTCServer
- k8s #kubernetes #쿠버네티스
Archives
너와 나의 스토리
(BOJ) 2800 괄호 제거 본문
반응형
문제: https://www.acmicpc.net/problem/2800
문제 풀이:
<main>
- 스택을 이용해서 괄호 위치 쌍으로 저장
1. 입력받은 문자열을 처음부터 보면서 '('이 나오면 stack에 그 위치 push
2. ')'이 나오면 stack.top()과 현재 위치를 (pos)벡터에 따로 저장하고 stack.pop()
<function>
- 재귀함수 이용해서 어떤 괄호를 지울지 지정
1. 비트 마스크로 지울 괄호 번호 표시 (괄호 번호=위의 2번에서 벡터 번호)
2. 어떤 괄호를 지울지 다 정했으면 그 괄호들의 위치를 priority_queue에 넣는다
3. 입력받은 문자열을 임시 변수에 옮기면서 priority_queue.top() (지울 괄호 중 가장 먼저 나오는 것)은 패스하고 저장
4. 옮겨진 임시 변수 값을 res라는 벡터에 저장
<main>
- res 벡터 sort
- 순서대로 출력하되 중복되는 문자열이 존재할 수 있으므로 전에 출력한 문자열과 같으면 출력하지 않고 패스
* 중복되는 문자열이 존재하는 이유
어떤 식을 여러 쌍의 괄호가 감쌀 수 있다.
즉, ((0)) 꼴도 가능하다.
위 같은 경우 괄호의 위치를 저장 할 때 (0,4)와 (1,3)이 저장된다.
(0,4)만 지우는 경우와 (1,3)만 지우는 경우의 결과가 동일하다.
-> 이거 안 읽어서 틀림..... 문제를 잘 읽도록 하자!
소스코드:
반응형
'Algorithm > 기타' 카테고리의 다른 글
(BOJ) 16988 Baaaaaaaaaduk2 (Easy) (0) | 2019.03.07 |
---|---|
(BOJ) 16987 계란으로 계란치기 (1) | 2019.03.07 |
(BOJ) 10815 숫자 카드 (0) | 2019.02.26 |
(BOJ) 13460 구슬 탈출 2 (0) | 2019.02.24 |
(BOJ) 2573 빙산 (0) | 2019.02.24 |
Comments