๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

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ํ•˜๋‹ค. ๋ฌธ์ž'์—ด' ๋ฐ์ดํ„ฐ ํ˜•์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ๋ฌธ์ž๋งˆ๋‹ค ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ๊ฐ€๋ณด๋‹ค.

 

 

 

๋ฐ˜์‘ํ˜•