Python 160

[Level.0] 문자열 바꿔서 찾기

문제 설명: 문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어집니다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요. 제한사항1 ≤ myString의 길이 ≤ 1001 ≤ pat의 길이 ≤ 10myString과 pat는 문자 "A"와 "B"로만 이루어진 문자열입니다.문제 해결def solution(myString, pat): answer = '' for my in myString: answer += 'B' if my =='A' else 'A' return 1 if pat in answer else 0def solution(..

[Level.0] 숫자 찾기

문제 설명: 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항0 0 ≤ k num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.문제 해결def solution(num, k): for i, n in enumerate(str(num)): if n == str(k): return i+1 return -1def solution(num, k): try: return str(num).index(str(k)) + 1 except ValueError: r..

[Level.0] l로 만들기

문제 설명: 알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요. 제한사항1 ≤ myString ≤ 100,000myString은 알파벳 소문자로 이루어진 문자열입니다.문제 해결def solution(myString): answer = '' for my in myString: if ord(my) answer += 'l' else: answer += my return answerdef solution(myString): return ''.join([my if my > 'l' else '..

[Level.0] 조건에 맞게 수열 변환하기(3)

문제 설명: 정수 배열 arr와 자연수 k가 주어집니다. 만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다. 이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요. 제한사항1 ≤ arr의 길이 ≤ 1,000,0001 ≤ arr의 원소의 값 ≤ 1001 ≤ k ≤ 100문제 해결def solution(arr, k): if k%2: return [ar*k for ar in arr] else: return [ar+k for ar in arr]def solution(arr, k): return [ar*k if k%2 else ar+k for ar in arr]

[Level.0] 특정한 문자를 대문자로 바꾸기

문제 설명: 영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ my_string의 길이 ≤ 1,000문제 해결def solution(my_string, alp): return my_string.replace(alp, alp.upper())

[Level.0] 주사위 게임(2)

문제 설명: 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다.세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a^2 + b^2 + c^2)점을 얻습니다.세 숫자가 모두 같다면 (a + b + c) × (a^2 + b^2 + c^2 ) × (a^3 + b^3 + c^3)점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 제한사항a, b, c는 1이상 6이하의 정수입니다.문제 해결def solution(a, b, c): c..

[Level.0] 콜라츠 수열 만들기

문제 설명: 모든 자연수 x에 대해서 현재 값이 x이면 x가 짝수일 때는 2로 나누고, x가 홀수일 때는 3 * x + 1로 바꾸는 계산을 계속해서 반복하면 언젠가는 반드시 x가 1이 되는지 묻는 문제를 콜라츠 문제라고 부릅니다. 그리고 위 과정에서 거쳐간 모든 수를 기록한 수열을 콜라츠 수열이라고 부릅니다. 계산 결과 1,000 보다 작거나 같은 수에 대해서는 전부 언젠가 1에 도달한다는 것이 알려져 있습니다. 임의의 1,000 보다 작거나 같은 양의 정수 n이 주어질 때 초기값이 n인 콜라츠 수열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ n ≤ 1,000문제 해결def solution(n): answer = [n] while n != 1: ..

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

문제 설명: 어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다. 문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요. 제한사항1 ≤ my_string의 길이 ≤ 1001 ≤ is_prefix의 길이 ≤ 100my_string과 is_prefix는 영소문자로만 이루어져 있습니다.문제 해결def solution(my_string, is_prefix): return int(my_string.startswith(is_prefix))

[Level.0] 문자열 정렬하기(2)

문제 설명: 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항0 문제 해결def solution(my_string): return ''.join(sorted(my_string.lower())) 주석: .lower()로 전체 문자열을 소문자로 변경, sorted()를 통해 각 문자가 오름차순으로 정렬된 리스트를 생성한 뒤 join으로 결합