강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

스스로 스터디님의 프로필 이미지
스스로 스터디

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

54. 올바른 괄호 (STL stack 자료구조 활용)

54번 스택 관련 궁금증이 있습니다.

해결된 질문

작성

·

234

3

안녕하세요 스택 관련 궁금증이 있습니다.

NO일때 break 대신에 곧바로 return 하면 flag 변수를 사용하지 않아도 같은 결과가 나오는것 같습니다

new로 할당하고 delete 하지 않으면 메모리에 남아있는 것처럼 스택도 들어있는 값들을 모두 pop하지 않으면 문제가 발생하거나 안좋을까요...??

int main() {
	//freopen("input.txt", "rt", stdin);
	stack<char> s;
	char a[50];
	int i;
	scanf("%s", &a);
	for (i = 0; a[i] != '\0'; i++) {
		if (a[i] == '(') {
			s.push(a[i]);
		}
		else {
			if (s.empty()) {
				printf("NO\n");
				return 0;
			}
			else s.pop();
		}
	}
	if (s.empty()) printf("YES\n");
	else printf("NO\n");
	return 0;
}

답변 1

2

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

답을 출력하고 바로 리턴해서 끝내는 게 좋겠습니다. 코딩테스트는 큰 응용프로그램을 만드는 작업이 아니라 답만 빠르게 출력하고 끝내주면 됩니다. 굳이 스택에 남아있는 자료까지 생각할 필요는 없어 보입니다.

스스로 스터디님의 프로필 이미지
스스로 스터디

작성한 질문수

질문하기