problem solving

[프로그래머스]종이접기

Shinuk Yi 2020. 7. 17. 10:58

종이접기는 한번 접을 때마다 0모양이 추가되고 기존의 역순으로 더해지는 패턴을 가진다.

(A4 용지를 직접 접어보면 쉽게 패턴을 구할 수 있는 문제)

#include <string>
#include <vector>
 
using namespace std;
 
vector<int> solution(int n) {
    vector<int> answer;
    
    string str = "0", reverse_str = "";
        
    for(int i = 0; i < n - 1; i++) {
        reverse_str = "";
        for(int j = 0; j < str.length(); j++) {
            if(str[j] == '0') {
                reverse_str = '1' + reverse_str;
            } else {
                reverse_str = '0' + reverse_str;
            }
        }
        str =  str + '0' + reverse_str;
    }
    
    for(int i = 0; i < str.length(); i++) {
        if(str[i] == '0') {
            answer.push_back(0);    
        } else {
            answer.push_back(1);
        }
    }
    return answer;
}
cs