반응형
안녕하세요 Jin's 입니다.
최근에 리눅스 마스터 2급 준비한다고, 시험 끝났다는 마음에 또 한참을 놀다가 돌아왔습니다!
백준 알고리즘의 함수 중 셀프 넘버 ( 문제 번호 : 4673)의 소스입니다.
Java와 Python 두가지 버전 소스입니다.
1) JAVA
* all_set의 숫자 정의도 for문에서 동시에 진행
import java.util.HashSet;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
HashSet<Integer> all_set = new HashSet<Integer>();
HashSet<Integer> generate_set = new HashSet<Integer>();
for(int i=1; i<10001; i++){
int sum = i;
all_set.add(i);
String num = String.valueOf(i);
for(int j=0; j<num.length(); j++){
sum += Integer.parseInt(String.valueOf(num.charAt(j)));
}
generate_set.add(sum);
}
all_set.removeAll(generate_set);
Iterator result = all_set.iterator();
while(result.hasNext()){
System.out.println(result.next());
}
}
}
2) PYTHON
* 모든 숫자를 set으로 넣어둔 뒤 생성자들을 찾은 뒤 빼주면 셀프 넘버!
all_set = set(range(1, 10001))
generate_set = set()
for i in range(1, 10001):
for j in str(i):
i += int(j)
generate_set.add(i)
self_num = all_set - generate_set
for k in sorted(self_num):
print(k)
여러분도 한번 풀어보세요!
반응형
'Development > 알고리즘' 카테고리의 다른 글
[ 백준 알고리즘 ] 11654번 아스키 코드 (JAVA/python) (0) | 2020.06.25 |
---|---|
[ 백준 알고리즘 ] 1065번 한수 (JAVA/python) (0) | 2020.06.24 |
[ 백준 알고리즘 ] 15596번 정수 N개의 합 (JAVA/python) (0) | 2020.06.04 |
[ 백준 알고리즘 ] 4344번 평균은 넘겠지 (JAVA/python) (0) | 2020.06.03 |
[ 백준 알고리즘 ] 8958번 OX퀴즈 (JAVA/python) (0) | 2020.06.02 |