반응형
백준 2231번 문제 분해합
완전탐색(브루트포스) 문제
https://www.acmicpc.net/problem/2231
문제 풀이
완전 탐색 - 어떤 수의 생성자는 원래 수보다 무조건 작으므로 0부터 N-1까지 다 계산해 봄
- 부분 코드 설명
isum = sum(list(map(int, str(i))))
숫자 i를 string으로 형변환한다.
파이썬의 string은 배열처럼 사용할 수 있다. 한 글자씩 나눠져서 배열이 됨
list(map(자료형, 배열)) : 이 배열의 각각의 요소들을 int로 형변환 해 새로운 리스트로 만들어라.
sum(배열) : 배열이 int의 배열일 때 사용. 배열의 모든 요소들의 합.
-> 숫자의 각 자리수의 합을 구하라
해답 코드 Python
#백준 2231 분해합
from sys import stdin
N = int(stdin.readline())
result = 0
#완전 탐색 - 어떤 수의 생성자는 원래 수보다 무조건 작으므로 0부터 N-1까지 다 계산해 봄
for i in range(N) :
isum = sum(list(map(int, str(i)))) #숫자의 각 자리수를 int 배열로 저장하고 그들의 합을 구함
if(i+isum == N) :
result = i
break
print(result)
Comment
[LOST]
문제의 출력 조건을 정확히 읽을 것! : 해당하는 값이 없을 시 0 출력
반응형
'DSA > Algorithm' 카테고리의 다른 글
[백준 2720] 세탁소 사장 동혁 Python greedy 그리디 알고리즘 (0) | 2021.09.29 |
---|---|
[백준 10162] 전자레인지 Python greedy 그리디 알고리즘 (0) | 2021.09.29 |
[백준 2798] 블랙잭 Python 완전탐색(브루트포스) (0) | 2021.09.26 |
[백준 15829] Hashing 해싱 Python 해시 (0) | 2021.09.26 |
[백준 12605] 단어순서 뒤집기 Python 스택 (0) | 2021.09.14 |