신용 카드 번호가 있다고 가정합니다. 카드 번호가 유효한지 여부를 확인해야 합니다. 카드 번호에는 특정 속성이 있습니다 - 4, 5, 6으로 시작합니다. 길이는 16자리입니다. 숫자는 숫자만 포함해야 합니다. -로 구분된 4개의 그룹으로 된 숫자가 있을 수 있습니다. 공백이나 밑줄과 같은 다른 구분 기호를 사용하면 안 됩니다. 동일한 숫자가 4개 이상 연속되어서는 안 됩니다. 따라서 입력이 s =5423-2578-8632-6589와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다
크기가 n인 문자열이 있다고 가정합니다. 회전된 문자열을 모두 1자리, 2자리 ... n자리 회전하여 찾아야 합니다. 따라서 입력이 s =hello와 같으면 출력은 [elloh, llohe, lohel, ohell, hello]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res :=새 목록 n :=s의 크기 0에서 n 사이의 i에 대해 s :=(인덱스 1에서 n-1까지 s의 부분 문자열) s[0] 연결 res 끝에 s 삽입 반환 결과 예시 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − def s
문자열 s가 있다고 가정합니다. 이전에 이미 나타난 모든 중복 문자를 제거해야 합니다. 최종 문자열은 실제 문자열과 동일한 순서의 문자를 갖습니다. 문자의 삽입 순서를 유지하기 위해 정렬된 사전을 사용하여 이 문제를 해결할 수 있습니다. 값은 해당 문자의 빈도이지만 여기서 빈도 값은 중요하지 않습니다. 딕셔너리를 구성한 후 키를 가져 와서 결합하여 문자열을 얻을 수 있습니다. 따라서 입력이 s =bbabcaaccdbaabababc와 같으면 출력은 bacd가 됩니다. d :=키가 삽입 순서에 따라 순서대로 저장되는 사전 s의 각
배열에 단어가 거의 없다고 가정합니다. 이 단어는 소문자입니다. 다음 규칙에 따라 이 단어 집합의 총점을 찾아야 합니다. − 모음이 [a, e, i, o, u 및 y]라고 가정합니다. 짝수의 모음이 포함된 단어의 경우 개별 단어의 점수는 2입니다. 그렇지 않으면 해당 단어의 점수는 1입니다. 전체 단어 집합의 점수는 집합의 모든 단어 점수의 합입니다. 따라서 입력이 단어 =[프로그래밍, 과학, 파이썬, 웹사이트, 하늘]과 같으면 프로그래밍에는 3개의 모음 점수 1, 과학이 있으므로 출력은 6이 됩니다. 3
nums1과 nums2라는 두 개의 숫자 목록이 있다고 가정합니다. 반드시 고유하지 않은 몇 가지 요소가 있습니다. 그러나 이 두 목록은 실제로 동일한 숫자 집합의 서로 다른 순열을 나타냅니다. 그러나 그들 중 일부는 누락되었습니다. 이 두 목록에서 누락된 숫자를 찾아 모두 인쇄해야 합니다. 따라서 입력이 nums1 =[4,5,8,8,6,9] nums2 =[3,4,4,8,8,8,6,9,5,8]과 같으면 출력은 다음과 같습니다. nums1에는 3이 없지만 nums2에는 있으므로 [3,4,8,8]이 됩니다. 4는 둘 다에 있지만 nu
우리가 교단의 동전(1, 2, 5, 10)을 주었다고 가정합니다. 우리는 이러한 지배를 사용하여 n을 배열할 수 있는 방법을 찾아야 합니다. count[0]은 1의 동전 수를 나타내고 count[1]은 2의 동전 수를 나타내는 식으로 4개의 요소가 있는 count라는 배열이 있습니다. 따라서 입력이 n =27 count =[8,4,3,2]와 같으면 출력은 18이므로 18개의 가능한 조합이 있습니다. 10*2 + 5*1 + 2*1 =27 10*2 + 2*3 + 1*1 =27 10*1 + 5*3 + 2*1 =27
유효한지 여부를 확인해야 하는 우편 번호가 있다고 가정합니다. 유효한 우편 번호에는 다음 기준이 있습니다. 100000에서 999999 사이의 숫자여야 합니다(둘 다 포함). 교대로 반복되는 숫자 쌍을 두 개 이상 포함할 수 없습니다. 따라서 입력이 s =700035와 같으면 100000 ~ 999999 범위에 있고 연속 숫자도 없으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=s의 크기 nb :=0 좋아요 :=맞습니다 0 ~ n - 1 범위의 i에 대해 ok :=o
두 개의 숫자와 b가 있다고 가정합니다. 우리는 와 b의 제수인 양의 정수가 몇 개 있는지 찾아야 합니다. 따라서 입력이 a =288 b =240과 같으면 공약수가 [1,2,3,4,6,8,12,16,24,48]이기 때문에 출력은 10이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res :=0 gcd(a, b) + 1 범위의 i에 대해 (a mod i)가 0이고 (b mod i)가 0이면 res :=res + 1 반환 결과 예시 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − from math
배열 nums, 값 k 및 다른 값 i가 있다고 가정합니다. nums의 요소를 오른쪽으로 k번 회전한 후 인덱스 i에서 요소를 찾아야 합니다. 따라서 입력이 nums =[2,7,9,8,10] k =3 i =2와 같으면 출력은 10이 됩니다. 세 번째 회전 배열 이후에는 [9,8,10,2,7 ], 이제 i번째 요소는 nums[2] =10이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 0~k 범위의 r에 대해 nums에서 마지막 요소를 삭제하고 삭제된 요소를 0번 위치의 nums에 삽입 반환 번호[i] 예
시계 방향으로 다각형의 외부 점이 있다고 가정합니다. 이 점들이 볼록 껍질을 형성하고 있는지 확인해야 합니다. 이 도표에서 각각의 연속된 세 점에 대해 내각이 180°를 넘지 않는다는 것이 분명합니다. 따라서 모든 각도가 180°보다 크지 않으면 다각형은 볼록 껍질입니다. 따라서 입력이 점 =[(3,4), (4,7),(7,8),(11,6),(12,3),(10,1),(5,2)와 같은 경우 )], 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=포인트 크기 0에서 포인트 크기까지의 범위에
nums1과 nums2라는 두 개의 배열이 있다고 가정합니다. 다음 조건을 만족하는 값의 수를 찾아야 합니다. - nums1의 요소는 선택되는 요소의 요소입니다. 선택된 요소는 nums2의 모든 요소의 인수입니다. 따라서 입력이 nums1 =[3,9] nums2 =[27, 81]과 같으면 숫자가 9와 27이므로 출력은 2가 됩니다. 9 모드 3 =0 9 모드 9 =0 27 모드 9 =0 81 모드 9 =0 27 모드 3 =0 27 모드 9 =0 27 모드 27 =0 81 모
숫자 n이 있다고 가정합니다. 이 숫자의 슈퍼 자릿수를 찾아야 합니다. 한 자리 숫자의 슈퍼 자리는 숫자 자체이지만 여러 자리 숫자의 경우 슈퍼 자리는 합이 한 자리 숫자가 될 때까지 반복적으로 모든 숫자의 합입니다. 따라서 입력이 n =513682와 같으면 (5+1+3+6+8+2) =25, (2 + 5) =7이기 때문에 출력은 7이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s :=0 9일 때 수행 n이 0과 같으면 n :=s s :=0 s :=s + n 모드 10 n :=n/10의 하한값 반환
n개의 요소 목록이 있다고 가정합니다. 목록의 각 요소를 n번 반복해야 합니다. 따라서 입력이 nums =[1,5,8,3]과 같으면 출력은 [1, 1, 1, 1, 5, 5, 5, 5, 8, 8, 8, 8, 3이 됩니다. , 3, 3, 3] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=숫자 크기 ret :=새 목록 숫자 단위의 각 숫자에 대해 다음을 수행합니다. ret :=ret n개의 숫자로 목록을 연결 반환 예시 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. def solve(nums):
시계 방향으로 다각형의 외부 점이 있다고 가정합니다. 이 점이 볼록한 다각형을 형성하고 있는지 확인해야 합니다. 다각형의 내각 중 하나라도 180°보다 크면 다각형이 오목하다고 합니다. 이 다이어그램에서 각 연속적인 세 점에 대해 CDE를 제외하고 내각이 180°를 넘지 않는다는 것이 분명합니다. 따라서 입력이 점 =[(3,4), (4,7),(7,8),(8,4),(12,3),(10,1),(5,2)와 같은 경우 )], 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=포인트 크기 0에서
nums라는 숫자 목록이 있다고 가정합니다. 또 다른 숫자 x가 있습니다. 필터링을 통해 x보다 작은 모든 숫자를 찾아야 합니다. 우리가 파이썬을 사용하는데 함수를 인수로 취하고 이 함수를 사용하는 필터를 사용하는 하나의 filter() 메소드가 있습니다. 따라서 입력이 nums =[1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x =50과 같으면 출력은 [ 1, 5, 8, 3, 6, 9, 12, 36, 2, 5, 6, 12] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 함수 f를 정의하면 a 인
n개의 서로 다른 노드가 있다고 가정합니다. 모두 다릅니다. 우리는 이진 탐색 트리를 형성하기 위해 그것들을 배열할 수 있는 방법의 수를 찾아야 합니다. 이진 검색 트리에 대해 알고 있듯이 왼쪽 하위 트리에는 항상 더 작은 값이 있고 오른쪽 하위 트리에는 더 큰 값이 있습니다. 이를 해결하기 위해 우리는 카탈로니아 수를 찾을 것입니다. 카탈로니아 숫자 C(n)은 n개의 다른 키를 가진 이진 탐색 트리를 나타냅니다. 공식은 다음과 같습니다. $$C(n)=\frac{(2n)!}{(n+1)!\times n!}$$ 따라서 입력이 n
좌석이라고 하는 0과 1만 있는 목록이 있다고 가정합니다. 여기서 Seat[i]는 좌석을 나타냅니다. 1이면 점유되고 그렇지 않으면 비어 있습니다. 자유석이 하나 이상 있고 점유석이 하나 이상 있으므로 자유석에서 가장 가까운 점유석까지의 최대 거리를 찾아야 합니다. 따라서 입력이 Seats =[1, 0, 1, 0, 0, 0, 1]과 같으면 출력은 2가 됩니다. 왜냐하면 우리는 Seats[4]를 차지할 수 있고 거리는 2입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 해상도 :=0 마지막 :=-1 n
숫자와 승수라는 두 개의 목록이 있다고 가정합니다. 이제 숫자에서 임의의 숫자를 제거하고 승수에서 임의의 숫자를 제거한 다음 함께 곱할 수 있는 연산을 고려하십시오. 목록 중 하나가 비어 있을 때까지 이 작업을 반복해야 하며 곱한 숫자의 최대 합을 찾아야 합니다. 따라서 입력이 nums =[-4, 4, 3] multipliers =[-2, 2]와 같으면 출력은 16이 됩니다. -4를 -2와 일치시키고 4를 2와 일치시켜 -4를 얻을 수 있기 때문입니다. * -2 + 4 * 2. 이 문제를 해결하기 위해 다음 단계를 따릅니다. −
num이라는 숫자 목록이 있다고 가정하고 세 가지 고유 요소의 가장 큰 곱을 찾아야 합니다. 따라서 입력이 nums =[6, 1, 2, 4, -3, -4]와 같으면 (- 3) * (-4) * 6 =72를 곱할 수 있으므로 출력은 72가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 목록 번호 정렬 n :=숫자 크기 maxScore :=-inf maxScore :=maxScore의 최대값 및 (nums[0] * nums[1] * nums[n - 1]) maxScore :=maxScore의
num이라는 숫자 목록이 있다고 가정하고 두 고유 요소의 가장 큰 곱을 찾아야 합니다. 따라서 입력이 nums =[8, -3, 1, -5]와 같으면 출력은 여기에서 최대값인 15, (-3)*(-5) =15가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=숫자 크기 nums_sort :=목록 번호 정렬 max_left :=nums_sort[0] * nums_sort[1] max_right :=nums_sort[n-1] * nums_sort[n-2] ans :=max_left 및 ma