โถ ๋ฌธ์ :
โถ ์ฝ๋ :
N = int(input())
M = int(input())
if M > 0 :
errorBtn = list(map(int, input().split()))
else:
errorBtn =[]
answer = abs(100 - N)
for num in range(1000001):
# ์ต๋ N์ 500,000 ๊น์ง ์
๋ ฅ์ด ๊ฐ๋ฅํ๋ฉฐ ๊ฐ์ ์๋ฆฌ๋ก ์๊ฐํ์๋ 1,000,000 ๊น์ง ์
๋ ฅ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๋ฒ์๋ฅผ ์ด์ ๊ฐ์ด ์ค์
# 1,000,000์ ๋์ด๊ฐ๋ ์ซ์๋ถํฐ๋ 0 ~ 500,000์ฌ์ด์ ์ซ์๋ก ์ปค๋ฒ ๊ฐ๋ฅ
count = 0
for c in str(num):
if int(c) in errorBtn:
break
else:
count += 1
if count == len(str(num)):
answer = min(answer, (len(str(num)) + abs(N-num)))
print(answer)
โถ ๋ฌธ์ ํ์ด
1. ์ ์ฒด ํ์ ๋ฒ์ ์ค์ :
- ์ต๋ N์ 500,000 ๊น์ง ์
๋ ฅ์ด ๊ฐ๋ฅํ๋ฉฐ ๊ฐ์ ์๋ฆฌ๋ก ์๊ฐํ์๋ 1,000,000 ๊น์ง ์
๋ ฅ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๋ฒ์๋ฅผ ์ด์ ๊ฐ์ด ์ค์
- 1,000,000์ ๋์ด๊ฐ๋ ์ซ์๋ถํฐ๋ 0 ~ 500,000์ฌ์ด์ ์ซ์๋ก ์ปค๋ฒ ๊ฐ๋ฅ
2. ์ดํ ๋ฐ๋ชฉํ๋ฉฐ errorBtn ๋ด์ ์๋ ์๊ฐ ํฌํจ๋ ์ซ์๋ผ๋ฉด ์ฌ์ง์์ด ๋๊ธฐ๊ณ , ๋ง์ผ ์ซ์ ์กฐํฉ์ด errorBtn์ ์๋ค๋ฉด ํ์ฌ answer์ ๋น๊ตํ ์์๊ฐ์ answer์ ์ ์ฅ
3. answer๋ ์ด๊ธฐ ๋จ์ํ + - ๋ฒํผ๋ง ๋๋ฅธ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํ์์ผ๋ฉฐ 100 - N(๋ชฉํ ์ฑ๋๊ฐ) ์ ์ ๋๊ฐ์ ๊ฐ์ง๋ค => ์จ์ ํ 100๋ฒ๋ถํฐ `+/- `๋ก๋ง ์ด๋ํ ๊ฒฝ์ฐ์ ๋ฒํผ์ ๋๋ฅธ ํ์(= ์ด๊ธฐ๊ฐ)
'๐ฏ CodingTest > BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BaekJoon] 1541 ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2022.04.15 |
---|---|
[BaekJoon] 1463 1๋ก ๋ง๋ค๊ธฐ (0) | 2022.04.14 |
[BaekJoon] 1074๋ฒ Z (0) | 2022.04.13 |
[BaekJoon] 1012 ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2022.04.12 |
[BaekJoon] 1003 ํผ๋ณด๋์น ํจ์ (0) | 2022.04.12 |