Python 160

[Level.0] 마지막 두 원소

문제 설명: 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요. 제한사항2 ≤ num_list의 길이 ≤ 101 ≤ num_list의 원소 ≤ 9문제 해결def solution(num_list): if num_list[-1] > num_list[-2]: num_list.append(num_list[-1] - num_list[-2]) else: num_list.append(num_list[-1]*2) return num_list

[Level.0] 접미사인지 확인하기

문제 설명: 어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다. 문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요. 제한사항1 ≤ my_string의 길이 ≤ 1001 ≤ is_suffix의 길이 ≤ 100my_string과 is_suffix는 영소문자로만 이루어져 있습니다.문제 해결def solution(my_string, is_suffix): return 1 if my_string[-len(is_suffix):..

[Level.0] 카운트 업

문제 설명: 정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항0 ≤ start_num ≤ end_num ≤ 50문제 해결def solution(start_num, end_num): return list(range(start_num, end_num+1)) 주석: 말장난임, range의 끝 값은 포함되지 않으므로 end_num까지 포함하기 위해 +1을 합니다. 만약 end_num이 '개수'를 의미했다면 +1 없이 사용했겠지만 여기선 '마지막 숫자'이다.

[Level.0] n번째 원소까지

문제 설명: 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항2 ≤ num_list의 길이 ≤ 301 ≤ num_list의 원소 ≤ 91 ≤ n ≤ num_list의 길이문제 해결def solution(num_list, n): num_list[:n] 주석: [:n]은 인덱스 0부터 n-1까지를 포함하므로 결과적으로 첫 번째 원소부터 문제에서 요구한 'n번째' 원소까지 정확히 가져옵니다.

[Level.0] 두 수의 연산값 비교하기

문제 설명: 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다. 제한사항1 ≤ a, b 문제 해결def solution(a, b): return max(int(f'{a}{b}'), 2*a*b)

[Level.0] 더 크게 합치기

문제 설명: 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요. (단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.)제한사항1 ≤ a, b 문제 해결def solution(a, b): a, b = str(a), str(b) return int(a+b) if int(a+b) >= int(b+a) else int(b+a)def solution(a, b): return max(int(f'{a}{b}'), int(f'{b}{a}')) 주석: f'{a}..

[Level.0] 부분 문자열인지 확인하기

문제 설명: 부분 문자열이란 문자열에서 연속된 일부분에 해당하는 문자열을 의미합니다. 예를 들어, 문자 "ana", "ban", "anana", "banana", "n"는 모두 문자열 "banana"의 부분 문자열이지만, "aaa", "bnana", "wxyz"는 모두 "banana"의 부분 문자열이 아닙니다. 문자열 my_string과 target이 매개변수로 주어질 때, target이 문자열 my_string의 부분 문자열이라면 1을, 아니라면 0을 return 하는 solution 함수를 작성해 주세요. 제한사항1 ≤ my_string의 길이 ≤ 100my_string은 영소문자로만 이루어져 있습니다.1 ≤ target의 길이 ≤ 100target은 영소문자로만 이루어져 있습니다.문제 해결def s..

[Level.0] 홀짝에 따라 다른 값 반환하기

문제 설명: 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요. 제한사항1 ≤ n ≤ 100문제 해결def solution(n): if n%2: return sum(range(1, n+1, 2)) return sum([num**2 for num in range(2, n+1, 2)]) 주석: 홀수는 단순 합계를 구하지만 짝수는 range 내 각 요소를 제곱(**2)한 뒤 모두 더하는 별도의 처리가 필요합니다.