์์ ํ์ํ๋ brute force ๋ฌธ์ ์ด๋ค.
๋จผ์ 1๋ถํฐ N๊น์ง ๋ชจ๋ ๊ณ ๋ คํ๋ ๋ฐฉ๋ฒ์ด์๋ค. ๋ด๊ฐ ์ฒ์์ผ๋ก ์ ์ถํ ๋ต์ด๊ธฐ๋ ํ๋ค.
์๋ฅผ๋ค์ด 256์ ์์ฑ์๋ฅผ ์ฐพ๊ธฐ์ํด 1๋ถํฐ ์์ฐจ์ ์ผ๋ก ํ์ํด ์์ฑ์๊ฐ ๋์ค๋ฉด ์ข ๋ฃํ๋ค.
import sys
N = int(input())
def Constructor(M):
result = M
devide = list(str(M))
for i in devide:
result += int(i)
return result
if N < 10 :
print(0)
else:
num = 10
while M <= N :
if N == Constructor(M) :
print(M)
sys.exit()
M+=1
print(0)
์ ์ฝ๋๋ฅผ ๋ต์ผ๋ก ์ ์ถํด๋ ์ ๋ต์ผ๋ก ์ธ์ ๋์ง๋ง ์๋ฌด๊ฒ๋ ๊ณ ๋ คํ์ง ์์ ์๊ฐ์ ํจ์จ์ด ๋จ์ด์ง๋ค.
๋๋ฒ ์งธ ๋ฐฉ๋ฒ์ ํ์์ ๋ฒ์๋ฅผ ์ค์ฌ์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ธ์๋ฆฌ ์๊ฐ ์์ ๋, ๋ถํดํฉ์ ์์ฑ์ + ์ธ์๋ฆฟ ์ ์ด๋ค. (256 = 245 + 2 + 4 + 5)
๊ฐ ์๋ฆฟ์๋ค์ 0~9 ์ฌ์ด์ ์ซ์์ด๋ค. ์ฆ, ์๋ฆฟ์์ ์ต๋๊ฐ์ 9
๊ทธ๋ฌ๋ฏ๋ก ์์ฑ์๋ฅผ ์ ์ธํ ๊ฐ ์๋ฆฟ์์ ์ต๋ํฉ์ 9 x 3 = 27 ์ด๋ค.
์ฆ, 256์ ์์ฑ์๊ฐ ์๊ธธ ์ ์๋ ๋ฒ์๋ฅผ 256-27 ๋ก ์ค์ผ ์ ์๋ค. ์ฒ์ฌ๋ค,,
import sys
N = input()
def Constructor(M):
result = M
for i in list(str(M)):
result += int(i)
return result
M = int(N)
for i in list(str(N)):
M -= 9
if M < 0:
print(0)
else:
while M <= int(N) :
if int(N) == Constructor(M):
print(M)
sys.exit()
M+=1
print(0)
๋ ์ฝ๋๋ฅผ ๋น๊ตํ์ ๋ ์๊ฐ์ฐจ์ด๋... :)
'๐ Algorithm > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฐฑ์ค 2089 (0) | 2021.03.04 |
---|---|
[Python] ๋ฐฑ์ค 1442 (0) | 2021.02.25 |
[Python] ๋ฐฑ์ค 6549 (0) | 2021.02.20 |
[Python] ๋ฐฑ์ค 2606 (0) | 2020.09.01 |
[Python] ๋ฐฑ์ค 1260 (0) | 2020.08.27 |