공부/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