[๋ฐฑ์ค/python] 1107๋ฒ : ๋ฆฌ๋ชจ์ปจ
๋ฌธ์
์๋น์ด๋ TV๋ฅผ ๋ณด๊ณ ์๋ค. ์๋น์ด๋ ์ฑ๋์ ๋๋ฆฌ๋ ค๊ณ ํ์ง๋ง, ๋ฒํผ์ ๋๋ฌด ์ธ๊ฒ ๋๋ฅด๋ ๋ฐ๋์, ์ผ๋ถ ์ซ์ ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ๋ค.
๋ฆฌ๋ชจ์ปจ์๋ ๋ฒํผ์ด 0๋ถํฐ 9๊น์ง ์ซ์, +์ -๊ฐ ์๋ค. +๋ฅผ ๋๋ฅด๋ฉด ํ์ฌ ๋ณด๊ณ ์๋ ์ฑ๋์์ +1๋ ์ฑ๋๋ก ์ด๋ํ๊ณ , -๋ฅผ ๋๋ฅด๋ฉด -1๋ ์ฑ๋๋ก ์ด๋ํ๋ค. ์ฑ๋ 0์์ -๋ฅผ ๋๋ฅธ ๊ฒฝ์ฐ์๋ ์ฑ๋์ด ๋ณํ์ง ์๊ณ , ์ฑ๋์ ๋ฌดํ๋ ๋งํผ ์๋ค.
์๋น์ด๊ฐ ์ง๊ธ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋์ N์ด๋ค. ์ด๋ค ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ๋์ง ์ฃผ์ด์ก์ ๋, ์ฑ๋ N์ผ๋ก ์ด๋ํ๊ธฐ ์ํด์ ๋ฒํผ์ ์ต์ ๋ช ๋ฒ ๋๋ฌ์ผํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋น์ด๊ฐ ์ง๊ธ ๋ณด๊ณ ์๋ ์ฑ๋์ 100๋ฒ์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์๋น์ด๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ ๊ฐ์ M (0 ≤ M ≤ 10)์ด ์ฃผ์ด์ง๋ค. ๊ณ ์ฅ๋ ๋ฒํผ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ ์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ด ์ฃผ์ด์ง๋ฉฐ, ๊ฐ์ ๋ฒํผ์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ฑ๋ N์ผ๋ก ์ด๋ํ๊ธฐ ์ํด ๋ฒํผ์ ์ต์ ๋ช ๋ฒ ๋๋ฌ์ผ ํ๋์ง๋ฅผ ์ถ๋ ฅํ๋ค.
์ ๋ต
import sys
input = sys.stdin.readline
button = []
N = int(input())
M = int(input())
if M != 0:
button.extend(list(map(str, input().split())))
answer = abs(N-100) # +,-๋ก๋ง ์ด๋ ํ์
if 100 == N: # ์ด๋ํ๋ ค๋ ์ฑ๋์ด ํ์ฌ ์๋ ์ฑ๋์ธ ๊ฒฝ์ฐ
print(0)
elif M == 10: # ๋ชจ๋ ์ซ์ ๋ฒํผ์ด ๊ณ ์ฅ๋ ๊ฒฝ์ฐ : +,-๋ก๋ง ์ด๋
print(answer)
else :
for count in range(1000001):
if N-count >= 0:
ok = True
for i in str(N-count):
if i in button:
ok = False
break
if ok == True:
print(min(answer, count + len(str(N-count))))
break
ok = True
for i in str(N+count):
if i in button:
ok = False
break
if ok == True:
print(min(answer, count + len(str(N+count))))
break
๊ณ ์ฅ๋ ์ซ์๊ฐ ์์ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ๊ธฐ ์ํด
button ๋ฆฌ์คํธ๋ฅผ ์ฐ์ ๋ง๋ค์ด ๋ ํ M์ด 0์ด ์๋ ๋ ์ ๋ ฅ์ ๋ฐ์ button์ ์ถ๊ฐํ๋ค.
์ด๋ํ๋ ค๋ ์ฑ๋ N์ด ํ์ฌ ์ฑ๋ 100๊ณผ ๊ฐ์ ๊ฒฝ์ฐ 0์ ์ถ๋ ฅํ๊ณ
๋ชจ๋ ์ซ์ ๋ฒํผ์ด ๊ณ ์ฅ๋ฌ์ ๊ฒฝ์ฐ +์ -๋ฒํผ๋ง ์กฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ N๊ณผ 100์ ์ฐจ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
์ด์ธ์ ๊ฒฝ์ฐ +,- ๋ฒํผ์ผ๋ก๋ง ์ด๋ํ์ ๋์ ์ซ์ ๋ฒํผ์ ์ด์ฉํ ์ด๋ ์ค ๋ ์์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
๋ชฉํ ์ฑ๋ N์์ 1์ฉ ๋นผ๊ฑฐ๋ ๋ํ์ฌ
ํด๋น ์ฑ๋๋ก ์ด๋ํ ์ ์๋์ง ํ์ธํ ๋ค์
์ด๋ํ ์ ์๋ค๋ฉด +,-๋ก๋ง ์ด๋ํ์ ๊ฒฝ์ฐ์ ๋น๊ตํ์ฌ ๋ ์์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
'๐์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/python] 2606๋ฒ : ๋ฐ์ด๋ฌ์ค (0) | 2021.08.11 |
---|---|
[๋ฐฑ์ค/python] 1427๋ฒ : ์ํธ์ธ์ฌ์ด๋ (0) | 2021.08.10 |
[๋ฐฑ์ค/python] 18111๋ฒ : ๋ง์ธํฌ๋ํํธ (0) | 2021.08.07 |
[๋ฐฑ์ค/python] 1244๋ฒ : ์ค์์น ์ผ๊ณ ๋๊ธฐ (0) | 2021.08.07 |
[๋ฐฑ์ค/python] 9095๋ฒ : 1, 2, 3 ๋ํ๊ธฐ (0) | 2021.08.06 |