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 | 31 |
Tags
- 노래합성
- deep voice
- text-to-speech
- 트레이닝
- korean tts
- waveglow
- 딥러닝 보코더
- DCTTS
- YOLO
- 타코트론
- you only look once
- TTS
- melgan
- 딥러닝
- Vocoder
- 딥러닝 음성 합성
- 한국어 tts
- 윈도우
- tacotron
- singing voice synthesis
- 학습
- 보코더
- 음성 합성
- 한국어 음성 합성
Archives
- Today
- Total
chldkato
백준 1107 리모컨 (파이썬) 본문
https://www.acmicpc.net/problem/1107
그리디하게 풀려다가 반례가 있어서 모든 경우의 수를 다 계산
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