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
- 윈도우
- korean tts
- 한국어 tts
- tacotron
- waveglow
- melgan
- 딥러닝 보코더
- 타코트론
- 딥러닝
- singing voice synthesis
- 노래합성
- 트레이닝
- 보코더
- 학습
- Vocoder
- 음성 합성
- 한국어 음성 합성
- you only look once
- DCTTS
- YOLO
- 딥러닝 음성 합성
- text-to-speech
- TTS
- deep voice
Archives
- Today
- Total
chldkato
백준 1107 리모컨 (파이썬) 본문
https://www.acmicpc.net/problem/1107
1107번: 리모컨
첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼��
www.acmicpc.net
그리디하게 풀려다가 반례가 있어서 모든 경우의 수를 다 계산
1. 리스트 a에 버튼에 대한 정보를 저장. 인덱스에 해당하는 버튼이 고장나면 0
2. 고장난 버튼이 있으면 버튼을 입력받고 해당 버튼을 0으로 저장
3. cnt에 버튼을 누르는 횟수의 최소값을 저장. 초기값은 (목표 채널 - 초기채널 100) 으로 설정
4. 가능한 모든 경우의 수를 다 계산해본다
해당 채널을 누를 수 있으면 최소값을 계산한다
횟수는 해당 채널에서 +나 -를 누르는 횟수 = abs(n - i) 와 해당 채널을 누르는 횟수 = len(list_i)
import sys
input = sys.stdin.readline
n = int(input())
list_n = list(str(n))
m = int(input())
a = [1 for _ in range(10)]
if m != 0:
broken = list(map(int, input().split()))
for i in broken:
a[i] = 0
cnt = abs(n - 100)
for i in range(1000001):
list_i = list(str(i))
flag = 0
for c in list_i:
if a[int(c)] == 1:
continue
else:
flag = 1
break
if flag:
continue
else:
cnt = min(cnt, abs(n - i) + len(list_i))
print(cnt)
'백준' 카테고리의 다른 글
백준 10448 유레카 이론 (파이썬) (0) | 2020.06.05 |
---|---|
백준 1748 수 이어 쓰기 1 (파이썬) (0) | 2020.06.05 |
백준 1182 부분수열의 합 (파이썬) (0) | 2020.04.27 |
백준 7568 덩치 (파이썬) (0) | 2020.04.27 |
백준 10815 숫자 카드 (파이썬) (0) | 2020.04.27 |
Comments