Python_코드카타(2024.01.26)

김수경·2024년 1월 26일

코드카타

목록 보기
21/29

13. 자릿수 더하기

문제

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

👩🏻‍💻 My Coding

어떤 방법의 메소드가 있는지 구글링해보니 두가지 방법이 있다.
map과 str

# map 이용
def solution(N) : 
    result = sum(map(int, str(N)))
    return result 

아래는 str을 이용한 반복문이다.
숫자를 문자로 바꿔주고 다시 int를 취해 더해준다.

def solution(N) : 
    result = 0
    for i in str(N) : 
        result = result + int(i) 
    return result 

문제 포인트!

map : 각각 요소들에 특정한 함수를 적용시킬 때 쓴다.
str로 문자화 하였다가 int로 다시 더해준다


14. 약수의 합

문제

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

👩🏻‍💻 My Coding

def solution(n) : 
    sum = 0 
    for i in range(n) : 
        if n % (i+1)== 0 : 
            sum = sum + i+1
    return sum 

정답은 맞았는데 어디다가 +1을 해줘야 하는지 너무 헷갈린다
6의 약수를 찾는 예시를 통해 코드를 짰다
i=0부터 노트데 하나씩 적어보며 어떤 반복문으로 계산이 되는지 확인해봤다
언제쯤 for문이 자연스러워질까 ㅠㅠ

profile
잘 하고 있는겨?

0개의 댓글