inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-M

stack의 선언 위치에 대한 질문

397

정Logan

작성한 질문수 12

0

자료구조 stack을 일반 변수 선언하듯이 main 메서드 바깥에 선언했는데 메인문 안에 선언하는 것과 답이 다릅니다. 변수 생명주기와 관련있는건가요?

C++ 코테 준비 같이 해요!

답변 3

0

정Logan

코드랑 답변이랑 같이 안올라가서 딸로 올립니다!! main 문 바깥에 stack을 선언했을 때랑 main 내부에 선언했을 때랑 결과 같이 다릅니다. c++에서도 변수 선언 위치에 따라 결과가 달라지나요?

0

큰돌

아니요. 저건 테스트케이스마다 "스택"을 초기화 해주어야 하기 떄문입니다. 예를 들어 A테스트가 끝나고 스택에 어떤 값이 남아있으면 다음 테스트케이스에 영향을 미치겠죠? 그렇기 때문에 이런 테스트케이스 문제는 초기화를 해주는 것이 중요합니다.

선언위치에 따라 스택에 갑자기 무슨 값이 들어가지는 않습니다. ㅎㅎ

 

감사합니다.

0

chivalry95

감사합니다 큰돌님 !

0

정Logan

#include<bits/stdc++.h>
using namespace std;

int n,cnt = 0;
string a;
stack<char> b;// 제가 선언한 위치

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> n;

    for ( int i = 0 ; i < n; i++) {

        cin >> a;
        // stack<char> b; 제가 선언한 위치
        
        for (char x : a) {
            if(b.size() != 0 && b.top() == x) b.pop();
            else b.push(x);
        }

        if(b.size() == 0)cnt++;
    
    }
    cout << cnt;
    return 0;
}

0

큰돌

안녕하세요. ㅎㅎ 

코드도 함께 부탁드립니다. 

1-E질문입니다!

0

528

2

3-L 틀린 부분 피드백 부탁드립니다.

0

833

2

1-A문제 순열재귀함수 질문입니다.

0

396

1

1-A 일곱난쟁이문제입니다

0

463

1

문제 풀 때 방향성에 대해

0

807

1

맥에서 vs code로 실행 관련 질문입니다

0

528

1

17071번 메모리 초과

0

388

1

1-C질문입니다!

0

427

2

2-B BFS 시간초과질문

0

636

2

1-O 13번 라인

0

445

1

6-J 놀이공원 문제 질문

0

385

1

구현관련 질문

0

486

1

강의 교안

0

321

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

549

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

538

1

1-K

0

480

2

3-G번 질문있습니다.

1

478

3

3-C 실행 시간 질문드립니다.

0

498

1

4-A 문제 풀이 질문있습니다.

0

598

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

441

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

343

1

3-O go 함수 질문 드립니다.

1

450

2

4-A 출력 질문

0

306

1

1주차 1-O 질문드립니다

0

261

1