종이접기는 한번 접을 때마다 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 |
'problem solving' 카테고리의 다른 글
[BOJ]13460번: 구슬 탈출2 (0) | 2020.07.19 |
---|---|
[BOJ]15683번: 감시 (0) | 2020.07.18 |
[프로그래머스]추석 트래픽 (0) | 2020.07.17 |
[프로그래머스]N진수 게임 (0) | 2020.07.14 |
[프로그래머스]파일명 정렬 (0) | 2020.07.13 |