~๊ณจ๋5~
EOFError๊ฐ ๋ ์ ํด๋น ๋ฌธ์ ๋ฅผ ํ์ง ๋ชปํ๋๋ฐ, ๋ค์ ๋๊ธ์ ๋ณด๊ณ ํด๊ฒฐํ ์ ์์๋ค..!
๊ฐ์ ์ค๋ฅ๋ก ๊ณ ์ํ์๋ ๋ถ์ ์ฐธ๊ณ ํ์ ์~
[์ต์ข ์ฝ๋]
target = int(input())
brokenButtonCount = int(input())
if brokenButtonCount == 0: # ๊ณ ์ฅ๋ ๋ฒํผ์ด ์๋ ๊ฒฝ์ฐ
print(min(abs(100 - target), len(str(target)))) # 100์์ +/- vs target ๋ฒํผ ๋๋ฅด๊ธฐ
else:
brokenButton = list(map(int, input().split()))
minN = abs(100 - target) # +/- ๋ง ์ฌ์ฉํ์ฌ ์ด๋ํ ๊ฒฝ์ฐ
for num in range(1000001): # ์ฑ๋ ์ ํ์ ์๊ณ ์ด๋ํ๋ ค๋ ์ฑ๋ ์ ํ์ 500,000๊น์ง
num = str(num)
for i, n in enumerate(num):
if int(n) in brokenButton: # ์ด๋ํ๋ ค๋ ๋ฒํธ ์ค ๋ง๊ฐ์ง ๋ฒํผ์ด ์๋ ๊ฒฝ์ฐ
break
if i == len(num) - 1: # ๋ง์ง๋ง ๋ฒํผ๊น์ง ํ์ธ & ๋ฌธ์ ์๋ ๊ฒฝ์ฐ
minN = min(minN, len(num) + abs(target - int(num))) # ์ง๊ธ๊น์ง ๋์จ ๊ฒ vs (๋ฒํผ ๋๋ฆ + ์ด๋)
print(minN)
์ง๋ฌธ ์ฌํญ ์์ผ๋ฉด ๋๊ธ ๋ฌ์์ฃผ์ธ์!
REFERENCE
https://seongonion.tistory.com/99
[๋ฐฑ์ค] 1107๋ฒ ๋ฆฌ๋ชจ์ปจ - ํ์ด์ฌ(Python)
๋ฌธ์ (๋งํฌ) https://www.acmicpc.net/problem/1107 1107๋ฒ: ๋ฆฌ๋ชจ์ปจ ์ฒซ์งธ ์ค์ ์๋น์ด๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ ๊ฐ์ M (0 ≤ M ≤ 10)์ด ์ฃผ์ด์ง๋ค. ๊ณ ์ฅ
seongonion.tistory.com