๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
๐ฉ [๋ฐฑ์ค] [Python] [Gold5] 1107๋ฒ_๋ฆฌ๋ชจ์ปจ
Dbswnstjd
2023. 4. 21. 12:33
๋ฌธ์
https://www.acmicpc.net/problem/1107
1107๋ฒ: ๋ฆฌ๋ชจ์ปจ
์ฒซ์งธ ์ค์ ์๋น์ด๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ ๊ฐ์ M (0 ≤ M ≤ 10)์ด ์ฃผ์ด์ง๋ค. ๊ณ ์ฅ๋ ๋ฒํผ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ ์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 1107๋ฒ ๋ฌธ์ - ๋ฆฌ๋ชจ์ปจ
import sys
input = sys.stdin.readline
target = int(input())
n = int(input())
broken = list(map(int, input().split()))
# ํ์ฌ ์ฑ๋์์ + ํน์ -๋ง ์ฌ์ฉํ์ฌ ์ด๋ํ๋ ๊ฒฝ์ฐ
cnt = abs(100 - target)
for nums in range(1000001):
nums = str(nums)
for i in range(len(nums)):
if int(nums[i]) in broken:
break
elif i == len(nums) - 1:
cnt = min(cnt, abs(int(nums) - target) + len(nums))
print(cnt)
ํน๋ณํ ์๊ณ ๋ฆฌ์ฆ์ด ์ฐ์ผ ๊ฒ ๊ฐ์ง๋ง ์์ ํ์์ผ๋ก ํ ์ ์๋ ๋ฌธ์ ์ด๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ ๋ฒ์๋ฅผ 50๋ง์ผ๋ก ์ก์ผ๋ฉด ์๋๋ค. ์ฑ๋์ด ๋ฌดํ๋ ์ด๋ฏ๋ก 100๋ง์์ ์ค์ด๋๋ ๊ฒ๋ ์๊ฐํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฒ์์ ์ฃผ์ํด์ผ ํ๋ค.