Python

Python 코드카타 오답: 슬라이싱(리스트 뒤집기) | 형 변환 | 자릿수 더하기 | 약수의 합 | 숫자 간 간격

sawo11 2024. 12. 18. 13:03

[자릿수 더하기]

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

# for문 사용
def solution(n):
    answer = 0
    for i in str(n):
        answer += int(i)
    return answer
    
# 더 간단히
def solution(n):
	return sum(int(i) for i in str(n))

 

[약수의 합]

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

def solution(n):
    answer = 0
    for i in range(1, n+1): # 1부터 n까지
        if n % i == 0:
            answer += i
    return answer

 

[x만큼 간격이 있는 n개의 숫자]

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

# append: 리스트에 새로운 요소를 추가할 때 사용하는 메서드
def solution(x, n):
    answer = []
    for i in range(1, n + 1): # n개의 숫자
        answer.append(x * i) # x씩 증가
    return answer
    
# 더 간단히
def solution(x, n):
    return [x * i for i in range(1, n + 1)]

 

[자연수 뒤집어 배열로 만들기]

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

# 숫자는 기본적으로 하나의 값으로 처리되기 때문에, 자릿수를 직접 순회하거나 뒤집는 기능이 없음
# 문자열은 각 자릿수를 개별 문자로 나누어 다룰 수 있으므로, 리스트로 변환하거나 뒤집을 때 유용
def solution(n):
    answer = []
    for i in str(n)[::-1]:  # 문자열로 변환 후 뒤집기(슬라이싱): sequence[start:end:step]
        answer.append(int(i))  # 각 문자를 정수로 변환해 추가
    return answer
    
# 더 간단히
def solution(n):
    return [int(i) for i in str(n)[::-1]]

 

[문자열을 정수로 바꾸기]

문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

# 간단하게 답을 구할 수 있음!
def solution(s):
    return int(s)