본문 바로가기

백준 문풀

백준 문제풀이 : 4673번(셀프 넘버) / set 차함수 아이디어

 

>>4673번 (셀프 넘버)

 

>> 문제

>> 예제출력

 

>> 내 코드

 

step by step :  해결의 아이디어

 

step1. 문제의 해석

답 : 10000 이하의 셀프 넘버를 구하시오

재해석 : 10000이하의 수 중에서 셀프 넘버가 아닌 것을 구하시오

=> 즉, 생성자가 있는 것들을 구하면 됨


step2. str을 통해 쉽게 셀프넘버 식 함수만들기

=> a라는 문자열이 들어오면

=> a를 정수로 바꾸어 sum에 넣음

=> a의 각자리 숫자를 차례대로 i에 넣어 더해줌


step3. 함수 값에 넣어진 a에 1~10000의 수를 넣어 비셀프넘버 리스트를 만듬

 

=> 1~10000의 수를 str로 바꾸어 self함수에 넣어줌

=> 만약 10000보다 결과물이 작으면 리스트에 넣어주기

=> 생성자가 있는 정수들의 리스트 완성 = 비셀프함수


 

step4. set 차집합 활용 : [1~10000 리스트] - [비셀프함수 리스트]