[programmers]-数値桁数を追加


1. Problem 📃


https://programmers.co.kr/learn/courses/30/lessons/12931

この問題は、自然数Nが与えられたときに、Nの各ビット数の和を求めることによってNを返す関数を作成することである.

2. Logic 👨‍🏫

  • 入力自然数Nをlistに変換します.
  • sum関数を使用して結果を取得し、返します.
  • 3. Code 💻


    1.私が解いたパスワード

    def solution(n):
        n_list = list(str(n))
        answer = [int(i) for i in n_list]
        return sum(answer)

    2.他人が解いたパスワード

    def sum_digit(number):
        return sum(map(int,str(number)))
    
    # 아래는 테스트로 출력해 보기 위한 코드입니다.
    print("결과 : {}".format(sum_digit(123)));

    4. Feedback 📚


    4.1リスト形式のコピー


    4.1.1. mapの使用

  • フォーマット:map(変換関数、iterable(重複可能なデータex).リスト、チュートリアルなど)
  • map関数のパラメータとしてramdaを使用すると便利です.
  • 戻りタイプ:反復器(map object)
  • originalList = ['2', '4', '6', '8', '10', '12']
    intList = list(map(int, originalList))
    print(intList)
    # 출력 결과: [2, 4, 6, 8, 10, 12]

    4.1.2 List Comprehension

    # exam 1
    
    originalList = ['2', '4', '6', '8', '10', '12']
    intList1 = [int(x) for x in originalList]
    intList2 = [x for x in originalList]
    
    print(intList1) # 출력 결과: [2, 4, 6, 8, 10, 12]
    print(intList2) # 출력 결과: ['2', '4', '6', '8', '10', '12']
    # exam 2
    
    ex1). [i*i for i in range(1, 5)]
    ex2). [i*i for i in range(1, 5) if i % 2 == 0]
    
    ex1). [1, 4, 9, 16] # 출력 결과
    ex2). [4, 16] # 출력 결과
    # exam 3
    
    [(x, y) for x in range(3) for y in range(3)]
    
    [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)] # 출력 결과
    
    
    
    [xforxinoriginalList+(Etc)]この使い方を知ってからもここで使える!