본문 바로가기
SWE/코테

[성실코딩 21일차] SWEA #5432 쇠막대기 자르기

by S나라라2 2018. 11. 14.
반응형

삼성 SW Expert Academy를 처음 시도해봤다.

학습 추천을 위한 레벨 테스트 진행했는데 D4~D5 레벨을 추천받았다.

D4 레벨에 몇일전 백준에서 풀었던 것과 동일한 문제가 있길래 다시 풀었다.


실수하지 말고 꼼꼼히 보기


#include <iostream>
#include <string>
#include <stack>
 
using namespace std;
 
 
int main() {
 
    int tc;
    cin >> tc;
    for (int i = 1; i <= tc; i++) {
         
        string str;
        cin >> str;
 
        stack<char> s;
        int result = 0;
 
        for (int i = 0; i < str.length(); i++) {
            switch (str[i])
            {
            case '(':
                s.push(str[i]);
                break;
            case ')':
                if (str[i-1]=='(') { // 레이저
                    //레이저 없애기
                    s.pop();
                    // 안의 막대기 갯수만큼 증가
                    result += s.size();
                }
                else { // 레이저아니고 막대기의 끝
                    s.pop(); // 막대기 없애기
                    result++;
                }
            }
        }
        cout << "#"<< i << " " << result << endl;
    }
    return 0;
}
반응형