개발일기 [Python 파이썬]

홀수 짝수 이어 붙이기

neullo 2024. 3. 11. 11:54

 

n의 배수

 

정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.

 

def solution(num, n):
    if num % n == 0:
        return 1
    else:
        return 0

def solution(num, n):
    return 1 if num % n == 0 else 0

 


앞의 n글자

 

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.

 

def solution(my_string, n):
    return my_string[:n]

 

위의 함수는 주어진 문자열 my_string의 앞의 n글자로 이루어진 부분 문자열을 반환합니다. 예를 들어, "Hello, world!"의 경우 앞의 5글자는 "Hello"이므로 "Hello"를 반환하고, "Python"의 경우 앞의 3글자는 "Pyt"이므로 "Pyt"를 반환합니다.

 


홀수 짝수 이어 붙이기

정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.

 

def solution(num_list):
    odd = ''
    even = ''
    
    for num in num_list:
        if num % 2 == 0:
            even += str(num)
        else:
            odd += str(num)
            
    return int(odd) + int(even)

# 예시 테스트
print(solution([3, 4, 5, 2, 1]))  # 출력: 393
print(solution([5, 7, 8, 3]))     # 출력: 581
  1. odd와 even 문자열에 값을 추가할 때 += 연산자를 사용해야 합니다.
  2. 홀수와 짝수를 이어붙일 때 숫자를 문자열로 변환한 후에 더해야 합니다. 
  3. 홀수와 짝수를 문자열로 이어붙인 후에는 각각의 합을 구하기 위해 문자열을 정수로 변환해야 합니다.
이 코드는 짝수로 이루어진 수를 이어붙인 even_concatenated를 문자열로 변환한 후에, 각 자리의 숫자를 다시 정수로 변환하여 합을 계산합니다.

예를 들어, even_concatenated가 42라면, 이를 문자열로 변환하면 "42"가 됩니다.
그리고 map(int,str(even_concatenated))를 통해 문자열 "42"의 각 문자를 정수로 변환하여 이를 합계를 계산합니다.
따라서 합계는 4 + 2 = 6이 됩니다.

다른 값 반환

두 정수 ab와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.

 

def solution(a, b, flag):
    if flag:
        return a + b
    else:
        return a - b
def solution(a, b, flag):
    return a + b if flag else a - b