-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
17-bomik0221 #71
17-bomik0221 #71
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다..! 마지막 2번 밖에 안남았지만....,STL에서 제공하는 스택에 적응 해보시는걸 추천드립니다 :)
사실 수업에서 배웠던 내용 거의 다 그대로 입니다 ㅋㅎㅋㅎㅋ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다! 스택의 남은 사이즈로 정답을 구하는 부분이 참신하고 좋았어요.
비슷하지만 스택의 템플릿과, 입력을 하나씩 받는 것에 집중하면 이런 식으로 코드를 짜볼 수도 있어요.
#include <cstdio>
#include <vector>
#include <stack>
#include <string>
int main() {
std::string str;
char c, status;
std::stack<char> stack;
scanf("%1c", &c);
while (c == '(' || c == ')') {
if (c == ')' && stack.empty() == false && stack.top() == '(') {
stack.pop();
}
else {
stack.push(c);
}
scanf("%1c", &c);
}
printf("%d", stack.size());
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
자료구조에서 풀었던 문제....!!!! 오랜만에 보니 반갑네요
라이브러리를 쓰니 훨씬 간결해지는....
🔗 문제 링크
11899번: 괄호 끼워넣기
문제 유형: 스택
✔️ 소요된 시간
30분
✨ 수도 코드
문제 이해
사고 과정
예시를 살펴보면,
))()((
라는 괄호열의 경우 가운데의()
를 제외하고 4개의 괄호는 제 짝이 없는 상태이니, 괄호가 총 4개 더 있어야 완전한 괄호가 될 수 있습니다.괄호가 완성되면 스택에서 꺼내고, 아니면 스택에 넣는 방식으로 유사한 문제를 풀었던 기억이 나서, 해당 문제에도 적용해보기로 했습니다.
초기 코드
구상은 잘 해놓고.. 뻘짓을 조금 햇습니다. 아무래도 잠 올 때는 그냥 자는 게 맞는 것 같기도.. 제 실수를 기록해두기 위해 적지만, 지금보니 조금 민망한 초기 코드입니다.
처음 다 쓰고 나서 테스트해볼 때는 몇몇 케이스는 답을 출력해줘서, 자신있게 제출했는데.. 마침 제가 테스트 한 케이스가 우연찮게 저 코드로도 답을 낼 수 있는 케이스 였던 거더라구요. 이 코드에서의 제 실수는 스택의 맨 위 원소와 현재 검사중인 괄호를 비교한 것이 아니라, 냅다 문자열에서 앞 문자열과 뒷 문자열을 비교하고 있었던 것이었습니다. 그러니
)(()
과 같이 맨 뒤에 괄호가 완성되어 있고, 맨 앞의 괄호는 불완전한 경우는 저 코드로도 뚝딱뚝딱 돌아갔던 것..!최종 코드
반복문 속 조건을 약간 수정하여, 답을 맞혔습니다.
📚 새롭게 알게된 내용
자료구조 시간에 스택 직접 구현 한 채로 스택 문제 푼 뒤로 스택문제를 처음 풀어봤습니다. 그래서 라이브러리에 있는 스택을 써본 건 오늘이 처음인데요..! 활용이 익숙지 않아 시간이 좀 더 소요된 것 같네요.