Archive

[programmers] Level3. 종이접기 본문

공부/Algorithm

[programmers] Level3. 종이접기

mariabeetle 2020. 7. 29. 15:16

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

 

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

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

programmers.co.kr

 

후기

  • 규칙을 정확히 찾아야 함.
  • 처음 test case 1, 2, 3만 봤을 때, 이전 접은것이 2번 반복 + [1]로 코딩했으나 틀림.
  • 규칙은 이전 값 + [0] + 이전 값의 xor 이었음.
  • 재귀함수보다 for문으로 answer를 덮어쓰는 방법으로 구현.

파이썬 코드

def solution(n):
    answer = []
    for i in range(n):
        answer = answer + [0] + [i^1 for i in answer[::-1]]
    return answer

 

Comments