[15596] Q : 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성해라. def solve(a: list). a는 합을 구해야 하는 정수 n개가 저장되어 있는 리스트, 리턴값은 a에 포함되어 있는 정수 n개의 합.
A :
[4673] Q : 양의 정수 n에서 d(n)을 n과 n의 각 자리수를 더하는 함수라 정의하자. 예를 들어, d(75) = 75+7+5=87이다. 양의 정수 n이 주어졌을 때, n, d(n), d(d(n)),... 같은 무한 수열을 만들 수 있다. 이 때 n을 d(n)의 생성자라고 한다. n=33이면 d(n)=39, d(d(n))=51,...인데, 33은 39의 생성자이고, 39는 51의 생성자이다. 생성자가 없는 숫자를 셀프 넘버라고 한다. 10000보다 작거나 같은 셀프 넘버를 한 줄에 하나씩 출력하는 프로그램을 작성해라
A :1번 line처럼 집합(set)을 만들어 줄 수 있다. 배열(list)도 마찬가지 방법으로 가능하다. 5~6번 line에서처럼 각 자리수를 문자열로 바꾸고 다시 정수로 바꾸며 더해줄 수 있다. 9번 줄에서 selfnum은 미리 selfnum = set()으로 선언해 줄 필요가 없다. set은 정렬이 되지 않은 특성을 가지고 있기 때문에 sorted(selfnum)을 하면 정렬된 순서로 출력할 수 있다.
[1065] Q : 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성해라