Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 음성 합성
- you only look once
- 한국어 음성 합성
- 보코더
- tacotron
- text-to-speech
- 한국어 tts
- 타코트론
- waveglow
- 학습
- Vocoder
- 딥러닝 음성 합성
- korean tts
- TTS
- 트레이닝
- DCTTS
- 윈도우
- 딥러닝 보코더
- 딥러닝
- melgan
- YOLO
- deep voice
- 노래합성
- singing voice synthesis
Archives
- Today
- Total
chldkato
프로그래머스 종이접기 (파이썬) 본문
https://programmers.co.kr/learn/courses/30/lessons/62049
코딩테스트 연습 - 종이접기 | 프로그래머스
직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽으로 접습니다. 종이를 모두 접은 후에는 종이를 전부 펼칩니다. 종이를 펼칠 때는 종이를 접은 방법의 역순으로 펼쳐서 처음 놓여있던 때와 같은 상태가 되도록 합니다. 위와 같이 두 번 접은 후 종이를 펼치면 아래 그림과 같이 종이에 접은 흔적이 생기게 됩니다. 위
programmers.co.kr
이전 배열에 0 을 추가하고 맨 뒤부터 반대값으로 뒤집어서 붙여주는 규칙이다
a[3]은 0010011 인데 여기서 한번 접기 때문에 뒤에 0을 붙여준다
그리고 다음 접히는 선은 대칭이기 때문에 0010011을 뒤집은 1100100을 0이면 1, 1이면 0으로 바꿔서 붙여준다
따라서 a[4]는 0010011 + 0 + 0011011 이다
def solution(n):
ans = [[] for _ in range(n+1)]
ans[1] = [0]
if n == 1:
return ans[n]
for i in range(2, n + 1):
ans[i].extend(ans[i - 1])
ans[i].append(0)
for j in ans[i - 1][-1::-1]:
if j == 0:
ans[i].append(1)
else:
ans[i].append(0)
return ans[n]

'프로그래머스' 카테고리의 다른 글
프로그래머스 [1차] 비밀지도 (파이썬) (0) | 2020.03.03 |
---|---|
프로그래머스 방의 개수 (파이썬) (0) | 2020.02.29 |
프로그래머스 블록 이동하기 (파이썬) (0) | 2020.02.29 |