https://www.acmicpc.net/problem/4673
creator=[]
for i in range(1,10001):
length=len(str(i))
tmp=i
if length==1:
creator.append(2*tmp)
elif length>1:
for j in range(0,length):
tmp+=int(str(i)[j])
creator.append(tmp)
# print(creator)
for i in range(1,10001):
if i not in creator:
print(i)
- 생성자를 저장해줄 리스트 creator 선언
- 반복문을 이용해 생성자를 만들어줄 것인데, 최종 덧셈완성됨 tmp가 임시 생성자이고 반복문 탈출하기 전 creator리스트에 tmp를 추가한다.
- tmp는 순회중인 정수로 초기화하고, 한자리 숫자일 경우에는 2*tmp를 creator에 추가한다
- 만약, 순회중인 정수가 두자리수 이상일 경우 tmp에 자릿수대로 저장한다. 이 때, 반복문을 이용한다.
- 1~10000 반복문을 순회하며 creator리스트에 없으면 출력한다
'자기개발👨💻 > 코딩 알고리즘' 카테고리의 다른 글
[Python] 백준4153 직각삼각형 (0) | 2021.06.28 |
---|---|
백준<2751 수정렬하기2 > 와 <10989 수정렬하기3> 비교 (이선생이알려줌) (0) | 2021.06.26 |
[Python] 백준 1978 소수 찾기 (0) | 2021.06.20 |
[python] 백준1145 적어도 대부분의 배수 (0) | 2021.03.11 |
[python] 백준 1032 명령프롬프트 (0) | 2021.03.10 |
[python] 프로그래머스 2019kakao 오픈채팅방 (0) | 2021.02.21 |