백준 2231 파이썬, list(map(int, str(i)))

2024. 3. 31. 08:22코딩 도구/백준 (단계별)

반응형

백준 2231 - 분해합

문제

https://www.acmicpc.net/problem/2231

 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

 

2231번

답안 코드 :

n = int(input())
result = 0
for i in range(1, n+1):
   
    nums = list(map(int, str(i))) # 198 -> [1,9,8]
    result = sum(nums) + i      # 18+ 198
   
   
    if result == n:         # 216 = 216
        print(i)        #198
        break
    if i == n:
        print(0)

 

백준 / 문제 / 단계별로 풀어보기 / 12단계 브루트포스

 

생각 :

# nums = list(map(int, str(i))) 
# 파이썬에서 사용되는 리스트(list)와 맵(map) 함수를 활용

# 1 str(i): 정수 i를 문자열로 변환
# 2 map(int, ...): 문자열의 각 문자에 대해 int 함수를 적용하여 숫자로 변환
# list(...): 변환된 숫자들을 리스트로 

반응형