728x90
https://www.acmicpc.net/problem/4673
문제 요약 : 양의 정수 n에 대해서 d(n)은 n과 n의 각 자리수를 더하는 함수이다. 이때 n은 d(n)의 생성자라고 한다. 이 생성자가 존재하지 않는 숫자를 셀프넘버라고 한다. 10000이하의 셀프넘버를 출력해라.
풀이 )
1차원적이지만 10000까지 저장한 리스트를 만들고, i를 계속 1씩 증가시키면서 셀프넘버가 아닌 숫자를 빼주었다.
깊게 생각안하고 일단 돌아가는 원리를 보자 하고 짰는데 띠용,, 돌아감
ans = [ x for x in range(1,10001)]
i = 1
while i < 10000 :
tmp = i + sum(map(int,str(i)))
if tmp in ans :
ans.remove(tmp)
i+=1
print(*ans,sep='\n')
굳이 10000까지 갈필요가 있을까 싶어서 참고하고자 맞힌 사람 코드를 봤는데
그냥 답을 전부 쓴 값을 print 하는 답이 많았다
증말 알 수 없다....
728x90
'코테 공부 🔥' 카테고리의 다른 글
[프로그래머스/파이썬] 올바른 괄호 (0) | 2022.10.14 |
---|---|
[백준/파이썬] 2667 : 단지번호붙이기 (0) | 2022.10.06 |
[백준/파이썬] 1541 : 잃어버린 괄호 (0) | 2022.10.05 |
[백준/파이썬] 1005 : ACM Craft (1) | 2022.10.05 |
[백준/파이썬] 14267 : 회사 문화1 (0) | 2022.10.04 |
댓글