Algorithm/Programmers 45

[프로그래머스 Level 2] 최솟값 만들기(Python)

📝 Level 2. 최솟값 만들기더보기📌 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.)예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5)A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된..

[프로그래머스 Level 0] 원소들의 곱과 합(Python)

📝 Level 0. 원소들의 곱과 합더보기📌 문제 설명 정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요. 📌 제한사항2 ≤ num_list의 길이 ≤ 101 ≤ num_list의 원소 ≤ 9📌 입출력 예num_listresult[3, 4, 5, 2, 1]1[5, 7, 8, 3]0📌 입출력 예 설명입출력 예 #1모든 원소의 곱은 120, 합의 제곱은 225이므로 1을 return합니다.입출력 예 #2모든 원소의 곱은 840, 합의 제곱은 529이므로 0을 return합니다. ✏️ 나의 풀이 def solution(num_list): msum = 0 mmul = ..

[프로그래머스 Level 0] 문자열안에 문자열(Python)

📝 Level 0. 문자열안에 문자열더보기더보기📌 문제 설명 문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요. 📌 제한사항1 ≤ str1의 길이 ≤ 1001 ≤ str2의 길이 ≤ 100문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.📌 입출력 예str1str2result"ab6CDE443fgh22iJKlmn1o""6CD"1"ppprrrogrammers""pppp"2"AbcAbcA""AAA"2📌 입출력 예 설명입출력 예 #1"ab6CDE443fgh22iJKlmn1o" str1에 str2가 존재하므로 1을 return합니다.입출력 예 #2"ppprrrogrammers" str1에 ..

[프로그래머스 Level 0] 배열 원소의 길이(Python)

📝 Level 0. 배열 원소의 길이더보기📌 문제 설명 문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 return하도록 solution 함수를 완성해주세요. 📌 제한사항1 ≤ strlist 원소의 길이 ≤ 100strlist는 알파벳 소문자, 대문자, 특수문자로 구성되어 있습니다.📌 입출력 예strlistresult["We", "are", "the", "world!"][2, 3, 3, 6]["I", "Love", "Programmers."][1, 4, 12]📌 입출력 예 설명입출력 예 #1["We", "are", "the", "world!"]의 각 원소의 길이인 [2, 3, 3, 6]을 return합니다.입출력 예 #2["I", "Love", "..

[프로그래머스 Level 2] 올바른 괄호(Python)

📝 Level 2. 올바른 괄호더보기📌 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어"()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 📌 제한사항문자열 s의 길이 : 100,000 이하의 자연수문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.📌 입출력 예sanswer"()()"true"(())()"true")()("false"(()(..

[프로그래머스 Level 0] n의 배수 고르기(Python)

📝 Level 0. n의 배수 고르기더보기📌 문제 설명 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요. 📌 제한사항1 ≤ n ≤ 10,0001 ≤ numlist의 크기 ≤ 1001 ≤ numlist의 원소 ≤ 100,000📌 입출력 예nnumlistresult3[4, 5, 6, 7, 8, 9, 10, 11, 12][6, 9, 12]5[1, 9, 3, 10, 13, 5][10, 5]12[2, 100, 120, 600, 12, 12][120, 600, 12, 12]📌 입출력 예 설명입출력 예 #1numlist에서 3의 배수만을 남긴 [6, 9, 12]를 return합니다.입출..

[프로그래머스 Level 0] 순서쌍의 개수(Python)

📝 Level 0. 순서쌍의 개수더보기📌 문제 설명 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요. 📌 제한사항1 ≤ n ≤ 1,000,000📌 입출력 예nresult2061009📌 입출력 예 설명입출력 예 #1n이 20 이므로 곱이 20인 순서쌍은 (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) 이므로 6을 return합니다.입출력 예 #2n이 100 이므로 곱이 100인 순서쌍은 (1, 100), (2, 50), (4, 25), (5, 20), (10, 10), (20, 5),..

[프로그래머스 Level 0] 피자 나눠 먹기 (3)(Python)

📝 Level 0. 피자 나눠 먹기 (3)더보기📌 문제 설명 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 📌 제한사항2 ≤ slice ≤ 101 ≤ n ≤ 100📌 입출력 예slicenresult71024123📌 입출력 예 설명입출력 예 #110명이 7조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 2판을 시켜야 합니다.입출력 예 #212명이 4조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 3판을 시켜야 합니다. ✏️ 나의 풀이 ..

[프로그래머스 Level 2] 최댓값과 최솟값(Python)

📝 Level 2. 최댓값과 최솟값더보기📌 문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 📌 제한사항s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.📌 입출력 예sreturn"1 2 3 4""1 4""-1 -2 -3 -4""-4 -1""-1 -1""-1 -1" ✏️ 나의 풀이 def solution(s): mlist = list(map(int, s.split(" "))) mlist = sorted(ml..

[프로그래머스 Level 0] 자릿수 더하기(Python)

📝 Level 0. 자릿수 더하기더보기📌 문제 설명 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요 📌 제한사항0 ≤ n ≤ 1,000,000📌 입출력 예nresult12341093021116📌 입출력 예 설명입출력 예 #11 + 2 + 3 + 4 = 10을 return합니다.입출력 예 #29 + 3 + 0 + 2 + 1 + 1 = 16을 return합니다. ✏️ 나의 풀이def solution(n): answer = 0 for i in str(n): answer += int(i) return answer ✏️ 다른 풀이(1)def solution(n): answer = sum(list(map(in..