본문 바로가기

problem solving

[프로그래머스]괄호 변환

그냥... 문제에서 말하는대로 그대로 구현하는게 정답

문제를 잘 이해하지는 못했는데 원하는 바를 잘 구현한 거 같다.

#include <string>
#include <vector>
#include <iostream>
 
using namespace std;
 
string translate(string p, int frontint end) {
    string answer = "";
    
    int open = 0, close = 0;
    for(int idx = front; idx < end; idx++) {
        if (p[idx] == '(') {
            open++;
        }
        else if (p[idx] == ')') {
            close++;
        }
        if(open == close) {
            if(p[front== ')') {
                answer += '(';
                answer += translate(p, idx + 1end);
                answer += ')';
                
                for(int i = front + 1; i < idx ; i++) {
                    if(p[i] == '(') {
                        answer += ')';
                    }
                    else {
                        answer += '(';
                    }
                }
                
                return answer;
            }
            else if (p[front== '(') {
                for(int i = front; i <= idx; i++) {
                    answer += p[i];
                }
                answer += translate(p, idx + 1end);
                
                return answer;
            }
        }
            
    }
    return answer;
}
 
string solution(string p) {
    string answer = "";
    
    answer = translate(p, 0, p.length());
    
    return answer;
}
cs

'problem solving' 카테고리의 다른 글

[프로그래머스]위장  (0) 2020.03.12
[프로그래머스]구명보트  (0) 2020.03.11
[프로그래머스]숫자 야구  (0) 2020.03.10
[프로그래머스]전화번호 목록  (0) 2020.03.10
[프로그래머스]H-index  (0) 2020.03.10