https://www.acmicpc.net/problem/2231
2231๋ฒ: ๋ถํดํฉ
์ด๋ค ์์ฐ์ N์ด ์์ ๋, ๊ทธ ์์ฐ์ N์ ๋ถํดํฉ์ N๊ณผ N์ ์ด๋ฃจ๋ ๊ฐ ์๋ฆฌ์์ ํฉ์ ์๋ฏธํ๋ค. ์ด๋ค ์์ฐ์ M์ ๋ถํดํฉ์ด N์ธ ๊ฒฝ์ฐ, M์ N์ ์์ฑ์๋ผ ํ๋ค. ์๋ฅผ ๋ค์ด, 245์ ๋ถํดํฉ์ 256(=245+2+4+5)์ด
www.acmicpc.net
๋์ ํ์ด
N = int(input())
total = 1000000
for i in range(N):
arr =[]
org = i
while(i!=0):
arr.append(i%10)
i //=10
if sum(arr)+org == N:
total=org
break;
if total == 1000000:
print(0)
else:
print(total)
์๋๋ฐฉ ํ์ด
n = int(input())
result = 0
for i in range(1, n+1):
num_list = list(map(int, str(i)))
result = i + sum(num_list)
if result == n:
print(i)
break
if i == n:
print(0)
์๋ฆฌ์ ๋ถํด์ ๊ดํ ์ฝ๋
๋๋ 10์ ๋๋ ๋๋จธ์ง๋ฅผ ๋ฆฌ์คํธ์ ์ ์ฅํ๊ณ
์๋๋ num_list = list(map(int, str(i)))๋ฅผ ์ด์ฉํ๋ค.
str(i): ๋ฌธ์์ด๋ก ์ซ์๋ฅผ ๋ฐ๊พธ๊ณ , map(int, str(i)): ๊ทธ๊ฑธ ์๋ฆฌ์๋ง๋ค int๋ก ๋ฐ๊พธ๊ณ , list(map(int, str(i))): ๊ทธ ๊ฐ์ ๋ฆฌ์คํธ์ ์ ์ฅํ๋ค.
ํ์ ๋ง์ง๋ง์ ๋ฐ๊ฒฌํ์ง๋ง ์ด์ฐจํผ ์์ ์ ๋ถํฐ ๋ถํดํฉ์ ์ฐพ๋ ๊ฑฐ๋ผ๋ฉด, ์ฐพ๊ธฐ๋งํ๋ฉด ๋๋๋ฉด ๋๊ธฐ ๋๋ฌธ์for๋ฌธ์ ์ค๊ฐ์ breakํด๋ ๋ฌด๋ฐฉํ๋ค.
num_list = list(map(int, str(i)))์ด ์ด๋ป๊ฒ ๊ฐ๋ฅํ์ง?
n = 12345
a = str(n)
print(a)
# 12345
b = list(n)
print(b)
#'int' object is not iterable
c = list(str(n))
print(c)
# ['1', '2', '3', '4', '5']
d = list(map(int, str(n)))
print(d)
# [1, 2, 3, 4, 5]
str(n)์ iterableํ๋ค. ๋ฌธ์'์ด' ๋ฐ์ดํฐ ํ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ ๋ฌธ์๋ง๋ค ๋ฐ๋ณตํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ฐ๋ณด๋ค.
'๐ Python > ๐ CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ ์ฝ๋์ ๊ธฐ์ด 100์ ] ๋ฌธ๋ฒ ๋ณต์ต, ์์ฃผ ํ๋ฆฌ๋ ์ ํ (0) | 2021.09.28 |
---|---|
๋ฐฑ์ค ๋ธ๋์ญ (0) | 2021.09.23 |
๋ฐฑ์ค ๋ฉ์น (0) | 2021.09.23 |
๋ฐฑ์ค ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2021.09.23 |
์๋ ํ์ด / ๋ฐฑ์ค ๋์ (0) | 2021.09.22 |