문제


내가 참고한 코드
natural_num = set(range(1, 10001))
generated_num = set()
for i in range(1, 10001): # i = 850
for j in str(i): # j = '8','5','0'
i += int(j) # 850 + 8 + 5 + 0, i = 863
generated_num.add(i) # 생성자가 있는 숫자들
self_num = sorted(natural_num - generated_num)
for i in self_num:
print(i)
> 문제를 풀지 못했다... ㅜㅜ
> 참고 블로그
https://wook-2124.tistory.com/252
백준 알고리즘 | 4673 : 셀프 넘버 (Python / 파이썬)
셀프 넘버 성공출처다국어분류 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 56038 28453 22966 50.972% https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도..
wook-2124.tistory.com
코드 설명
> natural_num 변수는 1부터 10000까지의 전체 수 변수이다.
> generated_num 변수는 집합 자료형으로, 아래 코드에서 나온 반복 값들을 제거하기 위해 집합 자료형으로 설정
> 이중 반복문에서 i는 1부터 10000까지의 수이고, j는 각 숫자의 함수를 적용하여 나온 값을 generated_num 변수에 추가한다.
> self_num 변수는 우리가 추출해야하는 변수이고, 전체 값 natural"_num 변수에서 셀프 넘버가 아닌 함수에서 나온 값을 가진 변수 generated_num 변수를 빼면 우리가 원하는 셀프 넘버를 구할 수 있다.
> 나한테는 어려운 문제였다... 공부공부!!!
'Coding > 백준' 카테고리의 다른 글
| [11654번] 문자열 - 아스키 코드 with Python (0) | 2022.07.19 |
|---|---|
| [1065번] 함수 - 한수(어려움) (0) | 2022.07.18 |
| [15596번] 함수 - 정수 N개의 합 (0) | 2022.07.18 |
| [4344번] 1차원 배열 - 평균은 넘겠지 (0) | 2022.07.18 |
| [8958번] 1차원 배열 - OX 퀴즈 (0) | 2022.07.18 |