반응형
리뷰
입력이 없어 당황했는데 그다지 어렵지 않은 문제였다.
문제 풀이
- 10001개 길이의 배열을 False로 초기화 해준다.
- for문을 개행해 주고 현재 숫자 + 각 자릿수의 합을 구해준 뒤 배열의 해당 인덱스를 True로 바꿔준다.
- 배열 중 False값을 가진 인덱스를 출력해 준다.
참고 사항
배열의 범위를 넘어간 즉, 10000이상의 숫자는 무시한다.
정답 코드
def q4673():
# 백준 4673번 셀프 넘버 파이썬
dp = [False] * 10001
for i in range(1, 10001):
temp = i
while i > 0:
temp += i % 10
i //= 10
if temp < 10000:
dp[temp] = True
for i in range(1, 10000):
if not dp[i]:
print(i)
q4673()
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
SWEA 1215번 D3 [S/W 문제해결 기본] 3일차 - 회문1문제 내용 (0) | 2024.07.05 |
---|---|
SWEA 1289번 D3 원재의 메모리 복구하기 파이썬 (0) | 2024.07.05 |
백준 2577번 숫자의 개수 파이썬 (0) | 2024.07.05 |
백준 1110번 더하기 사이클 파이썬 (0) | 2024.07.05 |
백준 19947번 투자의 귀재 배주형 파이썬 (0) | 2024.07.03 |