Python 160

[Level.0] 암호 해독

문제 설명: 군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.암호화된 문자열 cipher를 주고받습니다.그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항1 ≤ cipher의 길이 ≤ 1,0001 ≤ code ≤ cipher의 길이cipher는 소문자와 공백으로만 구성되어 있습니다.공백도 하나의 문자로 취급합니다.문제 해결def solution(cipher, code): return ''.join(cipher[code-1::code]) 주석: 인덱스가 0부터 시작하므로 code-1번째 위치부터 시작하여 cod..

[Level.0] 최댓값 만들기(2)

문제 설명: 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 제한사항-10,000 ≤ numbers의 원소 ≤ 10,0002 ≤ numbers 의 길이 ≤ 100문제 해결def solution(numbers): numbers.sort() return max(numbers[0]*numbers[1], numbers[-1]*numbers[-2]) 주석: 음수끼리의 곱도 최댓값이 될 수 있으므로 정렬 후 '최소값 2개의 곱'과 '최대값 2개의 곱' 중 더 큰 값을 반환하여 음수 예외 상황을 해결

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

문제 설명: 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. 제한사항1 ≤ my_string의 길이 ≤ 100my_string에는 숫자가 한 개 이상 포함되어 있습니다.my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다.문제 해결def solution(my_string): answer = [] for my in my_string: if my.isdigit(): answer.append(int(my)) return sorted(answer)def solution(my_string): return sort..

[Level.0] 주사위의 개수

문제 설명: 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항box의 길이는 3입니다.box[0] = 상자의 가로 길이box[1] = 상자의 세로 길이box[2] = 상자의 높이 길이1 ≤ box의 원소 ≤ 1001 ≤ n ≤ 50n ≤ box의 원소주사위는 상자와 평행하게 넣습니다.문제 해결def solution(box, n): answer = 1 for b in box: answer *= b..

[Level.0] 가위 바위 보

문제 설명: 가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요. 제한사항0 rsp와 길이가 같은 문자열을 return 합니다.rsp는 숫자 0, 2, 5로 이루어져 있습니다.문제 해결def solution(rsp): win = {'0':'5','2':'0','5':'2'} return ''.join(win[i] for i in rsp) 주석: 입력값(rsp)의 각 요소를 win안의 키로 매핑하고 그에 대한 value 값을 반환해 join으로 묶어 반환한다.

[Level.0] 개미 군단

문제 설명: 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. 제한사항hp는 자연수입니다.0 ≤ hp ≤ 1000문제 해결def solution(hp): count = 0 for ant in..

[Level.0] 옷가게 할인받기

문제 설명: 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 제한사항10 ≤ price ≤ 1,000,000price는 10원 단위로(1의 자리가 0) 주어집니다.소수점 이하를 버린 정수를 return합니다.문제 해결def solution(price): if price >= 500000: price = price*0.8 elif price >= 300000: price = price*0.9 elif price >= 100000: price = price*0.95..

[Level.0] 중앙값 구하기

문제 설명: 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. 제한사항array의 길이는 홀수입니다.0 -1,000 문제 해결def solution(array): array.sort() return array[len(array)//2]def solution(array): return sorted(array)[len(array)//2] 주석: array.sort()는 원본 배열 자체를 직접 정렬하여 변경하고(In-place), sorted(array)는 원본은 그대로 둔 채..