스파르탄 365 1주차 (3) 셀프 넘버
1주차
백준 4673번 셀프넘버
문제링크 : https://www.acmicpc.net/problem/4673
💡 풀이 전 계획과 생각
: 단순하게 자릿수를 나누어 합치자고 생각
: 자릿수를 while문을 통해 %와 // 을 통해서 나누기로 계획
💡 풀이
def d(n):
dn = n
for value in list(str(n)):
dn += int(value)
return dn
excep = []
for i in range(10001):
excep.append(d(i))
excep.sort()
for i in range(1, 10000):
if i in excep:
continue
else:
print(i)
🧐 막혔던 점과 고민
1. 100부분에서 문제 발생
다른 수들은 문제가 없었으나 10의 배수에서 // 10을 하면 원하는 바인 1이 아니라 10이 나온다는
-> 형변환 없이 while문 만을 이용하여 해결하고자 하였으나 실패
👏🏻 알게된 개념과 소감
형변환은 항시 복잡한 코드 용이라고 생각했는 데,
형변환을 통해 더 간단한 코드를 사용할 수 있음을 깨달았다.
나누어 해결하기 방법에 조금 더 가까워진 느낌이 든다.
Author And Source
이 문제에 관하여(스파르탄 365 1주차 (3) 셀프 넘버), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dawnofspring/스파르탄-365-1주차-3-셀프-넘버저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)