티스토리 뷰

백준

백준 4673 문제풀이 [python]

ys.k 2023. 6. 4. 14:11

포스팅에 앞서 내용이 틀릴 수 있습니다.

해당 부분 지적 감사히 받습니다.

 

문제를 보자.

처음에는 문제를 이해하고 패턴을 어떻게 찾아야 할까에 대해 많은 고민을 했다.

 

솔직히 어떻게 풀지 감이 안 와 이번엔 100퍼센트 다른 사람의 의견을 참고했다.

 

출처: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

 

코드 

import sys as s

num = set(range(1,10001))
num2 = set()
for i in range(1,10001):
    for j in str(i):
        i += int(j)
    num2.add(i)

num3 = sorted(num-num2)

for i in num3:
    print(i)

 

이번에 다시 배운건 sorted() 함수를 통해 정렬을 할 수 있다는 것과

 

set() 함수를 배웠다.


set()은 순서가 없고, 중복을 허용하는 함수이다.

 

또한, set()은 배열의 합, 교, 차 집합 연산에 유리한 함수이다.

 

ex) a= set([1,2,3,4,5]) , b= set([4,5,6,7,8])

 b-a [6,7,8]

 

그래서 이번문제에는 대부분의 사람들이 set() 함수를 사용해서 풀었다.

 

배운 점

1. set() 함수

'백준' 카테고리의 다른 글

시간 복잡도, 공간 복잡도  (2) 2023.06.06
백준 1260 문제풀이 [python]  (0) 2023.06.06
백준 4344 문제풀이 [python]  (0) 2023.06.03
백준 9095 문제풀이 [python]  (0) 2023.06.03
백준 10809 문제풀이 [python]  (0) 2023.06.03
댓글