일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 위상정렬
- Network
- swea
- JUnit 5
- 투 포인터
- Kotlin
- Effective Java
- 세그먼트 트리
- 스택
- java
- 백준
- 구현
- 유니온 파인드
- 문자열
- CS
- 완전탐색
- 그리디
- 플로이드-와샬
- 후니의 쉽게 쓴 시스코 네트워킹
- mst
- 수학
- 시뮬레이션
- 동적계획법
- 에라토스테네스의 체
- BFS
- 알고리즘
- 이분탐색
- 프로그래머스
- dfs
- 백트래킹
목록스택 (4)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 stack을 이용하여 해결하였다. stack이 비어있으면 문자를 push한다. stack.top()과 현재 문자가 같으면 pop한다. 1, 2의 경우가 아니면 문자를 push한다. 문자열의 탐색이 끝나고 stack이 비어있으면 1, stack이 차있으면 0을 반환한다. 풀이 #include #include #include using namespace std; int solution(string str) { int answer = 0; stack s; for (char c : str) { if (s.emp..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 바구니를 stack으로 구현하면 되는 문제이다. 인형을 집고 떨어뜨리기 전에 stack의 가장 위에 있는 인형의 종류를 확인하여 같은 인형이면 pop해주면 된다. 코드C++ #include #include #include using namespace std; int solution(vector board, vector moves) { int answer = 0; stack s; for(int i=0; i
6198번: 옥상 정원 꾸미기 www.acmicpc.net 2493 탑과 비슷하게 풀면 된다고 생각했다가 결국 다른 방법으로 풀게 된 문제이다. 스택에 대한 많은 문제를 풀어봐야겠다고 다시 한번 느낀 문제... 풀이 순차적으로 빌딩의 높이 tmp를 입력을 받으며 stack의 데이터를 tmp를 시작으로 내림차순으로 유지하면서 현재 빌딩의 개수를 제외한 값인 stack.size() - 1을 더해주는 것을 반복하면 답을 구할 수 있다. stack을 내림차순으로 유지하는 방법은 Monothone Stack을 참고하자. 코드 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int..
2493번: 탑 www.acmicpc.net 스택을 이용해서 푸는 문제이다. 스택 관련 문제들을 많이 안풀어봐서 그런지 생각보다 오래걸렸다. 스택 관련 문제들을 많이 풀어봐야 할 것 같다. 풀이 현재 탑의 높이를 tmp라고 하자. stack이 비어있으면 0을 출력하고 tmp을 push. stack이 비어있지 않은 경우 stack.top() > tmp이 될 때까지 pop한 뒤 stack.top()에 대응하는 탑의 번호를 출력하고 tmp를 push. 코드 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; stack s; cin >> n; for (int i = 1..