본문 바로가기

stack7

[백준 4949/javascript] 균형잡힌 세상 스택을 이용해서 푸는 흔한 괄호 문제 다른점이라면 문장에서 괄호만 필터로 꺼내 담아 체크한다는 점뿐이다 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { i.. 2022. 10. 23.
[백준 10799/c++] 쇠막대기 분명 의도는 스택을 이용해서 푸는 문제이지만 단순히 수만 세고 요소의 출력이 없었기에 쉽게 앞의 요소를 카운트와 이전 요소를 참조하도록 하여 풀 수 있는 문제였다 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net #include using namespace std; int main(){ int cnt=0; char pre=0; int ans=0; string s; getline(cin, s); for(int i=0; i 2022. 7. 7.
[백준 9012/c++] 괄호 - 문자열 - 스택 스택 문제는 전에 풀어본 적이 있어서 아주 쉽게 풀었다 다른 문제도 이렇게만 풀렸으면... #include using namespace std; int main(){ int n; cin >> n; for(int i=0; i> s; for(auto k : s){ if((stk.size()!=0) && (stk.top()=='(') && k==')'){ stk.pop(); } else{ stk.push(k); } } if(stk.size()!=0){ cout 2022. 6. 23.
백준 3986/c++ )) 좋은 단어 - 스택 사용 개선답 이전 풀이는 수열의 규칙을 찾아서 풀려고 하다가 반례가 나와서 실패했다 스택을 통해서 테트리스처럼 새 단어와 stack 맨 위의 단어가 같으면 top을 pop 해서 없애주고 top과 새 단어가 다르면 stack 에 push 하여 쌓는 과정을 통해서 쉽게 코드를 짤 수 있었다 느낀점 : 문제에 맞는 최적의 자료구조를 이용하여 로직을 짜야 시간낭비도 적고, 정확도도 높은 코드를 작성가능하다 #include using namespace std; int n; string s; int main(){ int cnt=0; // 여기에 스택 선언 시, 아래 for문에서 돌때마다 스택안 값들이 남아있어서 에러가 난다 cin >> n; for(int i=0; i> s; // 한번 돌때마다 새로 stk 를 선언, 새 스택을.. 2022. 6. 16.