반응형
프로그래머스
종이접기
https://programmers.co.kr/learn/courses/30/lessons/62049?language=cpp#
단순 코드 (시간 초과남)
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n) {
vector<int> answer;
int size;
answer.push_back(0);
for(int i=1; i<n; i++) {
size = answer.size();
for(int j=0; j<=size; j++) {
answer.insert(answer.begin()+j*2, j%2);
}
}
return answer;
}
방식 변경
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n) {
vector<int> answer;
int size;
answer.push_back(0);
for(int i=1; i<n; i++) {
size = answer.size();
vector<int> temp(answer);
answer.clear();
for(int j=0; j<size; j++) {
answer.push_back(j%2);
answer.push_back(temp[j]);
}
answer.push_back(1);
}
return answer;
}
반응형
'코딩테스트 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 가장 큰 수 (0) | 2020.02.27 |
---|---|
[프로그래머스] 쇠막대기 (0) | 2020.02.27 |
[프로그래머스] 모의고사 (0) | 2020.02.27 |
[프로그래머스] 문자열 압축 (0) | 2020.02.26 |
[프로그래머스] 예산 (0) | 2020.02.26 |