IT 정리용 블로그!

[단계별로 풀어보기-6 함수 단계] 15596,4673,1065 본문

Baek Joon

[단계별로 풀어보기-6 함수 단계] 15596,4673,1065

집가고시퍼 2022. 1. 8. 21:02
  • [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보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성해라

    A :
Comments