반응형

2024/11/05 3

[C++] 백준 10799번 쇠막대기

정답코드#include #include #include using namespace std;int main(){ string input; stack s; getline(cin, input); int cnt = 0; for(int i=0; i그려보지 않고서는 이해가지 않을 수 있습니다. () 이렇게 괄호 안에 아무것도 없이 만날 때는 쇠막대기를 쪼개는 것이고 그렇지 않을 경우 괄호 안에 (나 )가 포함되어 있는 경우에는 쇠막대기가 되는 구조입니다. 이 문제는 쇠막대기와 관련된 괄호 표현을 해석하는 문제입니다. 문제의 핵심은 주어진 괄호 문자열이 어떻게 쇠막대기의 개수와 관련되는지를 이해하는 것입니다. 문제 풀이 개념쇠막대기와 레이저의 표현:(는 쇠막대기의 시작입니다.)는 쇠막대기의 끝을 나타내기도 하지만,..

[C++] 백준 4949번 균형잡힌 세상

정답코드#include #include #include using namespace std;int main(){ while(1) { string input; getline(cin, input); if (input == ".") { break; //마지막 조건이 .이므로 .이 들어가면 break; } stack s1; bool flag = 0; for (int i = 0; i 일단 .이 들어가면 탈출해야 하므로 IF문을 통해 BREAK;가 되도록 만들어줍니다. 이후 while문을 통해 getline으로 읽은 문장의 char 하나하나를 분석하면 됩니다. 먼저 ( 나 [가 나올 때는 push를 해주는 것으로 하고 그 다음 조건에서는 top이 ( 이거나 [ 일 때 만약 empty가 비어있지 않..

[c++] 1874번 스택 수열

정답코드#include #include #include using namespace std;int main(){ int cnt = 1; int n; cin >> n; stack s; vector result; for (int i = 0; i > x; while(cnt 스택을 이용하여 해결하면 됩니다. 여기서 마지막 vector를 출력해낼 때 endl을 사용할 경우 버퍼를 계속해서 플러시하면서 시간 초과가 발생할 수 있으니 \n으로 바꾸어주면 됩니다. 알고리즘은 s.top이 x가 아니라면 계속해서 + 를 해주면 되기에 result에 +를 pushback 해주고 만약 top 즉 맨 최근에 들어온 스택에서의 상단의 값이 x라면 - 즉 pop을 해줘야 하기 대문에 pop을 해준 다음 result에 -를 pus..

반응형