programmers [C++] : 종이접기

2020. 6. 15. 14:25·Algorithms/programmers

programmers.co.kr/learn/courses/30/lessons/62049#

 

코딩테스트 연습 - 종이접기

직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽��

programmers.co.kr

문제 설명


직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다.

종이를 모두 접은 후에는 종이를 전부 펼칩니다. 종이를 펼칠 때는 종이를 접은 방법의 역순으로 펼쳐서 처음 놓여있던 때와 같은 상태가 되도록 합니다. 위와 같이 두 번 접은 후 종이를 펼치면 아래 그림과 같이 종이에 접은 흔적이 생기게 됩니다.

위 그림에서 ∨ 모양이 생긴 부분은 점선(0)으로, ∧ 모양이 생긴 부분은 실선(1)으로 표시했습니다. 종이를 접은 횟수 n이 매개변수로 주어질 때, 종이를 절반씩 n번 접은 후 모두 펼쳤을 때 생기는 접힌 부분의 모양을 배열을 완성하시면 됩니다.

 

접근 방법


저는 4번까지 배열을 구해보며서 규칙을 발견하였습니다~

 

코드


#include <string>
#include <vector>

using namespace std;

vector<int> solution(int n) {
    vector<int> ans;
    int prev,k=0;
    while(k!=n){
        if(k==0){ans.push_back(0);}
        else{
            prev=ans.size();
            ans.push_back(0);
            for(int i=prev-1;i>=0;i--){
                if(ans[i]==0)ans.push_back(1);
                else ans.push_back(0);
                
            }
            //ans.push_back(0);
        }
        k++;
    }
    return ans;
}

funny algorithm 0_<

저작자표시 (새창열림)

'Algorithms > programmers' 카테고리의 다른 글

programmers [C++] : 2020 KAKAO BLIND RECRUITMENT 문자열 압축  (0) 2020.06.18
programmers [C++] : 지형 이동  (1) 2020.06.17
programmers [C++] : 124 나라의 숫자  (0) 2020.06.15
programmers [C++] : 여행경로  (0) 2020.05.27
programmers [C++] : 타겟 넘버  (1) 2020.05.22
'Algorithms/programmers' 카테고리의 다른 글
  • programmers [C++] : 2020 KAKAO BLIND RECRUITMENT 문자열 압축
  • programmers [C++] : 지형 이동
  • programmers [C++] : 124 나라의 숫자
  • programmers [C++] : 여행경로
dev.wookii
dev.wookii
Effort Maketh Happiness
  • dev.wookii
    습관처럼
    dev.wookii
  • 전체
    오늘
    어제
    • 분류 전체보기 (295)
      • Language (35)
        • python (13)
        • C++ (22)
      • Kaggle (4)
      • Algorithms (112)
        • BOJ (58)
        • programmers (43)
        • SWExpertAcademy (2)
      • Certification (38)
        • Adsp (0)
        • Sqld (28)
        • 정처기 (9)
        • 빅데이터 분석기사 (0)
      • Data Analysis & ML (6)
      • 금융 & 디지털 (65)
      • CS (32)
        • DB (2)
        • SE (3)
        • Web&JSP (1)
        • Network (11)
        • OS (2)
        • Linux&Unix (6)
        • Server (1)
        • UX,UI (1)
        • 보안 (5)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    programmers
    시뮬레이션
    2020 KAKAO
    funny algorithms
    Ebay korea #coding test
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev.wookii
programmers [C++] : 종이접기
상단으로

티스토리툴바