높이 세트가 있다고 가정하고 중복 항목도 있을 수 있습니다. 우리는 이러한 높이의 개별 항목의 평균을 찾아야 합니다. 따라서 입력이 height =[96,25,83,96,33,83,24,25]와 같으면 고유 요소가 [96,25,83,33,24]이므로 출력은 52.2가 됩니다. 따라서 합계는 96 + 25 + 83 + 33 + 24 =261이고 평균은 261/5 =52.2입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − h_set :=중복을 제거하기 위해 높이에서 세트 h_set 항목의 합계를 반환 / h_s
숫자 n이 있다고 가정합니다. 우리는 다음 조건을 기반으로 하여 어느 것이 더 나은 n의 제수를 찾아야 합니다. 우리는 두 개의 숫자 p와 q를 가지고 있습니다. 자릿수의 합이 같을 때 숫자가 작을수록 좋습니다. 따라서 입력이 n =180과 같으면 제수가 [1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 30, 36, 45, 60, 90, 180]. 따라서 자릿수의 합이 최대인 수는 [9, 18, 36, 45, 90, 180]이지만 그 중 9가 값이 작을수록 좋은 수입니다. 이 문제를 해결하기 위해 다음
숫자 n이 있다고 가정합니다. 크기가 n인 요소 목록을 만들어야 합니다. 요소는 1에서 n까지입니다. 따라서 입력이 n =5와 같으면 출력은 [1,2,3,4,5]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 이 문제를 해결하기 위해 python 목록 이해 전략을 사용합니다. 1에서 n까지의 각 i에 대해 i를 사용하여 목록을 만듭니다. 이를 위해 range() 함수를 사용합니다. 여기에서는 n인 하한을 사용하고 최대 n을 생성하기를 원하기 때문에 상한 n+1을 취합니다. 예시 이해를 돕기 위해 다음 구현을
nums라고 하는 n개의 요소 목록이 있다고 가정합니다. 목록 슬라이싱 작업으로 이 목록을 반대로 해야 합니다. 따라서 입력이 nums =[5,7,6,4,6,9,3,6,2]와 같으면 출력은 [2, 6, 3, 9, 6, 4, 6, 7이 됩니다. , 5] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 목록 슬라이싱은 콜론으로 구분된 최대 3개의 매개변수를 사용합니다. 첫 번째는 시작, 두 번째는 끝, 세 번째는 단계 여기서 0에서 시작하면 첫 번째 매개변수를 전달하지 않고 n에서 끝나므로 두 번째 인수도 제공하지 않지만 반전
nums라고 하는 n개의 요소 목록이 있다고 가정합니다. 목록에서 모든 홀수 요소의 합을 찾아야 합니다. 따라서 입력이 nums =[5,7,6,4,6,9,3,6,2]와 같으면 5+7+9+3 =24이므로 출력은 24가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 목록 이해로도 해결 l :=nums의 모든 e에 대해 e가 홀수일 때 요소 e의 목록 l을 sum() 함수에 전달하여 l에 있는 요소의 합을 반환합니다. 예 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − def solve(nums): retu
목록 번호가 있다고 가정합니다. length(), size() 또는 len() 유형의 함수를 사용하지 않고 이 목록의 길이를 찾아야 합니다. 따라서 입력이 nums =[5,7,6,4,6,9,3,6,2]와 같으면 출력은 9가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 지도 및 목록 작업으로 해결 x :=숫자의 모든 요소를 포함하는 목록 x의 모든 요소를 1로 변환 sum() 메서드를 사용하여 x의 합 찾기 이 예에서는 익명 함수를 정의하여 map() 메서드를 사용하여 모두 1로 변환했습니다. 예시 이
양수와 음수가 있는 num이라는 숫자 목록이 있다고 가정합니다. 최종 목록이 각 요소의 절대값만 보유하도록 이 목록을 업데이트해야 합니다. 따라서 입력이 nums =[5,-7,-6,4,6,-9,3,-6,-2]와 같으면 출력은 [5, 7, 6, 4, 6, 9, 3, 6, 2] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 지도 및 목록 작업으로 해결 x를 인수로 취하고 abs(x)를 반환하는 l이라는 익명 함수를 정의합니다. map() 메서드를 사용하여 각 요소 e를 숫자에서 l(e)로 변환 목록 반환 예시 이해를 돕기
두 명의 플레이어 Amal과 Bimal이 있다고 가정합니다. 그들은 게임을 하고 있다. 게임 규칙은 다음과 같습니다 - 두 플레이어 모두 동일한 문자열을 가집니다. 둘 다 s의 문자를 사용하여 부분 문자열을 만들어야 합니다. 비말은 자음으로 시작하는 단어를 만들어야 합니다. 아말은 모음으로 시작하는 단어를 만들어야 합니다. 두 플레이어가 가능한 모든 부분 문자열을 만들면 게임이 종료됩니다. 이제 점수 기준은 다음과 같습니다. 플레이어는 문자열 s에서 부분 문자열이 나타날 때마다 1점을 얻습니다. 우리
문자열 s와 값 k가 있다고 가정합니다. k의 값은 s의 길이의 인수이며 길이가 n이라고 가정합니다. s를 k 크기의 t_i라고 하는 n/k개의 서로 다른 부분 문자열로 나눌 수 있습니다. 그런 다음 이 t_i를 사용하여 u_i를 다음과 같이 만듭니다. u_i에 있는 문자는 t_i에 있는 문자의 하위 시퀀스입니다. u_i의 각 문자 빈도가 1이 되도록 반복 문자는 이 문자열에서 제거됩니다. 이 u_i 문자열을 찾아야 합니다. 따라서 입력이 s =MMPQMMMRM k =3과 같으면 출력은 [MP, QM, MR]이 됩
Day dd Mon yyyy hh:mm:ss +/-xxxx 형식으로 두 번 있다고 가정합니다. 여기서 Day는 첫 글자가 대문자인 세 글자의 요일입니다. Mon은 세 글자로 된 월의 이름이고 마지막으로 + 또는 - xxxx는 시간대를 나타냅니다. 예를 들어 +0530은 GMT보다 5시간 30분이 더 많다는 것을 나타냅니다(dd, hh, mm, ss와 같은 다른 형식은 설명이 필요 없음). 두 타임스탬프 사이의 절대적 차이를 초 단위로 찾아야 합니다. 파이썬을 사용하여 이 문제를 해결하기 위해 우리는 datetime 라이브러리를 사
직각 삼각형의 두 변이 있다고 가정하고 이 변은 AB와 BC입니다. 빗변 AC의 중점을 M이라고 가정합니다. M과 BC 사이의 각도를 찾아야 합니다. 따라서 입력이 ab =6 bc =4와 같으면 ab/bc의 arc_tan이 0.9828이지만 각도로 56.31이므로 출력은 56.309932474020215가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans :=arc-tan(ab/bc) 도 단위로 반환 예 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. from math import atan, pi d
숫자 n이 있다고 가정합니다. 라이브러리 함수를 사용하지 않고 효율적으로 $e^{x}$를 찾아야 합니다. $e^{x}$의 공식은 다음과 같습니다. $$e^{x} =1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + ...$$ 따라서 입력이 x =5와 같으면 e^x =1 + 5 + (5^2/2!) + (5^3/3!) + ... =148.4131이므로 출력은 148.4131이 됩니다. .. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 사실:=1 res :=1 n :=20 정확한 결과를 얻으려면 클
n개의 다른 정수를 가진 배열 num이 있다고 가정합니다. 또한 두 개의 분리된 집합 A와 B가 있습니다. 처음에는 0으로 설정된 행복 매개변수가 하나 있습니다. 우리는 num의 각 정수 i를 살펴봅니다. i가 A에 있으면 행복을 1 더하고 i가 B에 있으면 1을 줄입니다. 마침내 최종 행복 값을 찾아야 합니다. 따라서 입력이 nums =[1,2,5,8,6,3] A ={5,8,9,7,3} B ={2,4,12,15}인 경우 출력은 5, 8, 3이 A에 있으므로 현재 행복은 3이지만 2는 B에 있으므로 1로 줄이면 행복은 2가 되므로
y가 함수인지 아닌지 확인해야 합니다. 여기에서는 x와 y의 모든 요소가 양수인 것으로 간주합니다. 따라서 입력이 x =[1,3,2,6,5] y =[1,9,4,36,25]와 같으면 출력은 True가 됩니다. 왜냐하면 각 x에 대해 해당 y는 여기에 제곱 값이 있으므로 이것이 함수입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 여기에서는 간단한 단계 집합을 고려하고 있습니다. 이 문제는 복잡한 방법으로도 해결할 수 있습니다. mp :=새 지도 0에서 x 크기의 범위에 있는 i에 대해 a :=x[i] b :=y[i
2D 평면의 단순한 다각형 끝점을 나타내는 정렬된 점 목록이 있다고 가정합니다. 이 다각형의 둘레를 찾아야 합니다. 따라서 입력이 Points =[(0, 0), (0,5), (3, 5), (3,0)]과 같으면 출력은 16이 됩니다. 두 변의 길이가 3이고 두 변의 길이가 5이므로 2*5 + 2*3 =16입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − getInfo() 함수를 정의합니다. x1, y1, x2, y2가 필요합니다. 유클리드 거리인 ((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))의 제곱
단어 목록이 있다고 가정합니다. 이 단어는 여러 번 나타날 수 있습니다. 우리는 이러한 단어의 빈도를 보여주고 얼마나 많은 고유한 단어가 있는지 계산해야 합니다. 따라서 입력이 단어 =[Book, Sound, Language, Computer, Book, Language]와 같은 경우 출력은 (4, 2 1 2 1) 4개의 별개의 단어가 있기 때문에 첫 번째와 세 번째 단어가 두 번 발생했습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − d:=삽입 주문에 따라 항목을 저장하는 OrderedDict 단어의 각 w에 대해
숫자 문자열 s에 소수의 숫자가 포함되어 있다고 가정합니다. 숫자는 여러 번 나타날 수 있습니다. 우리는 s에서 어떤 숫자가 연속적으로 몇 번 발생했는지 나타내는 쌍(digit, count)을 반환해야 합니다. 이 문제를 해결하기 위해 itertools 라이브러리에 있는 groupby() 함수를 사용할 수 있습니다. 이렇게 하면 각 항목이 첫 번째 위치에 있고 다른 groupby 개체가 두 번째 위치에 있는 내부에 하나의 반복자 개체가 반환됩니다. 각 쌍에 대한 groupby 개체의 수를 계산해야 합니다. 따라서 입력이 s =11
2D 평면의 단순한 다각형 끝점을 나타내는 정렬된 점 목록이 있다고 가정합니다. 이 다각형의 면적을 찾아야 합니다. 따라서 입력이 점 =[(0, 0), (0,5), (3, 5), (3,0)]과 같으면 출력은 15가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − getInfo() 함수를 정의합니다. x1, y1, x2, y2가 필요합니다. 반환 x1*y2 - y1*x2 메인 방법에서 다음을 수행합니다. N :=포인트 크기 (첫 번째, 첫 번째) :=포인트[0] (prevx, prevy) :=(firstx, fi
회사 이름이 문자열이라고 가정합니다. 우리는 회사 이름에서 가장 흔한 세 글자를 찾아 다음 규칙에 따라 표시해야 합니다 - 가장 자주 나오는 세 글자 선택 내림차순으로 정렬 일부 문자의 빈도가 같으면 알파벳 순서로 사용 따라서 입력이 s =TUTORIALSPOINT와 같으면 출력은 [[3, T], [2, I], [2, O]]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − x :=s의 문자와 문자 빈도를 포함하는 지도 res :=새 목록 x의 각 i에 대해 다음을 수행합니다. ret에 쌍(x[i], i) 삽입
두 개의 숫자와 b가 있다고 가정합니다. 이 두 숫자의 GCD를 재귀적으로 찾아야 합니다. GCD를 얻기 위해 우리는 유클리드 알고리즘을 사용할 것입니다. 따라서 입력이 a =25 b =45와 같으면 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − gcd() 함수를 정의합니다. , b b와 같으면 반환 그렇지 않으면