본문 바로가기

난 이 분야 전문가야!/Algorithm

프로그래머스 :: 종이접기 - python 풀이 공유

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

 

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

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

programmers.co.kr

 

<풀이>

 

1
2
3
4
5
6
7
8
9
10
11
12
def solution(n):
    cur = [0]
    for i in range(n - 1):
        next = []
        for j in range(len(cur)):
            if j % 2 == 0:
                next.extend([0,cur[j],1])
            else:
                next.append(cur[j])
        cur = next[:]
        
    return cur
cs

 

이번 문제는 코드를 작성하는 데보다는 문제를 풀기 위한 일정한 패턴을 찾는데에 시간이 더 오래 걸렸다.

문제의 규칙을 찾기가 어렵다면 종이를 직접 접어가면서라도 규칙을 한번 곰곰이 생각해보고 문제를 풀어보기 바란다.

 

728x90