i이고 j번째 항목의 가격은 i번째 항목(예:가격[j] <=가격[i]), 그렇지 않으면 할인을 전혀 받지 않습니다. i번째 요소가 특별 할인을 고려하여 상점의 i번째 항목에 대해 지불할 최종 가격인 배열을 찾아야 합니다. 따라서 입력이 가격 =[16,8,12,4,6]과 같으면 item0의 가격이 16이므로 출력은 [8, 4, 8, 4, 6]이 됩니다. price[1]=8에 해당하는 할인, 그러면 최종 가격은 8 - 4 =4가 됩니다. item1에 대해 price[1]이 8인 경우 price[3]=2에 해당하는 할인을 받게 되므로
배열 번호가 있다고 가정합니다. rs[i]와 같은 배열의 누적 합계는 nums[0]에서 nums[i]까지의 모든 요소의 합입니다. 마지막으로 전체 누계를 반환합니다. rs[0] = nums[0] rs[1] = sum of nums[0..1] = 8 + 3 = 11 rs[2] = sum of nums[0..2] = 8 + 3 + 6 = 17 and so on 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n:=숫자 크기 rs:=[숫자[0]] 범위 1에서 n - 1까지의 i에 대해 수행 숫자[i] :=숫자
정수 n과 다른 정수 시작이 있다고 가정합니다. nums[i] =start + 2*i(i는 0부터 시작)이고 n은 nums의 크기인 nums라는 배열을 만들어야 합니다. 그런 다음 nums의 모든 요소에 대한 비트 XOR을 찾습니다. 따라서 입력이 n =6, 시작 =2와 같으면 배열이 [2+2*0, 2+2*1, ... 2+2*5] =와 같을 것이기 때문에 출력은 14가 됩니다. [2,4,6,8,10,12], 배열에 있는 각 요소의 XOR은 14입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 개수 :=시작
급여[i]가 i번째 직원의 급여인 급여라는 고유한 요소가 있는 배열이 있다고 가정합니다. 최저 연봉과 최고 연봉을 제외한 직원들의 평균 연봉을 구해야 합니다. 따라서 입력이 급여 =[8000,6000,2000,8500,2500,4000]인 경우 최소 및 최대 급여 값이 2000 및 8500이므로 출력을 제외하면 평균 급여 값은 다음과 같으므로 출력은 5125.0이 됩니다. [8000,6000,2500,4000] 따라서 평균은 (8000 + 6000 + 2500 + 4000)/4 =5125입니다. 이 문제를 해결하기 위해 다음 단
nums라는 숫자 목록이 있다고 가정합니다. nums에 존재하는 요소가 AP 시리즈를 구성하고 있는지 확인해야 합니다. AP(Arithmetic Progression) 시리즈에서 알 수 있듯이 연속된 두 요소의 공통적인 차이는 동일합니다. 따라서 입력이 nums =[9,1,17,5,13]과 같으면 출력은 True가 됩니다. 정렬하면 [1,5,9,13,17]이고 여기서는 공통이기 때문입니다. 차이는 각 요소 쌍에 대해 4입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − nums :=목록 숫자 정렬 nums의
날짜가 [1st, 2nd, ..., 30th, 31st]이고 월이 [Jan, Feb, ... Nov, Dec] 형식이고 Day Month Year 형식의 날짜 문자열이 있다고 가정합니다. year는 1900에서 2100 사이의 4자리 숫자 값이므로 이 날짜를 YYYY-MM-DD 형식으로 변환해야 합니다. 따라서 입력이 날짜 =2021년 1월 23일과 같으면 출력은 2021-01-23이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 월:=[1월, 2월, 3월, 4월, 5월, 6월, 7월, 8월, 9월, 10월,
배열 번호가 있다고 가정합니다. 여기서 쌍 (i,j)는 nums[i]가 nums[j]와 같고 i
n개의 물병이 있다고 가정하면 m개의 빈 물병을 하나의 물병으로 교환할 수 있습니다. 이제 물을 가득 채우면 빈 병이 됩니다. 마실 수 있는 물병의 최대 개수를 찾아야 합니다. 따라서 입력이 n =9, m =3과 같으면 처음에는 9개의 병이 있으므로 출력은 13이 됩니다. 따라서 모든 병을 마신 후에는 9/3 =3개의 가득 찬 병을 얻을 수 있습니다. 빈 병 3개가 있고 그걸로 하나 사서 마실 수 있어서 9 + 3 + 1 =13병을 완성했습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − x:=n, s:=0, k:
음수가 아닌 두 개의 숫자가 왼쪽과 오른쪽에 있다고 가정합니다. 왼쪽과 오른쪽(포함) 사이의 홀수 개수를 찾아야 합니다. 따라서 입력이 왼쪽 =3, 오른쪽 =15와 같으면 범위에 7개의 홀수가 있기 때문에 출력은 7이 됩니다. 이는 [3,5,7,9,11,13,15]입니다. 7가지 요소. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 왼쪽이 홀수이거나 오른쪽이 홀수이면 1 + (오른쪽-왼쪽) / 2의 몫을 반환 그렇지 않으면 (오른쪽-왼쪽) / 2의 반환 몫 예제(파이썬) 이해를 돕기 위해
문자열 s와 인덱스 목록 ind가 있고 길이가 같다고 가정합니다. 문자열 s는 위치 i의 문자가 최종 문자열의 인덱스[i]로 이동하도록 섞입니다. 마지막 문자열을 찾아야 합니다. 따라서 입력이 s =ktoalak ind =[0,5,1,6,2,4,3]과 같으면 출력은 kolkata가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − fin_str :=크기가 s와 같고 0으로 채워진 목록 s의 각 인덱스 i와 문자 v에 대해 fin_str[ind[i]] :=v fin_str에 있는 각 문자를
배열 num과 세 개의 다른 정수 a, b, c가 있다고 가정합니다. 우리는 좋은 세쌍둥이의 수를 찾아야 합니다. 삼중항(nums[i], nums[j], nums[k])은 다음 조건이 참인 경우 좋은 삼중항이라고 합니다. - 0 <=i
엄격하게 증가하는 값으로 양수 정렬된 num이라는 배열이 있고 정수 k도 있다고 가정합니다. 이 배열에서 누락된 k번째 양의 정수를 찾아야 합니다. 따라서 입력이 nums =[1,2,4,8,12], k =6과 같으면 누락된 숫자가 [3,5,6,7,9,10,11이기 때문에 출력은 10이 됩니다. ], 여기서 6번째 항은 10입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − nums :=nums에 있는 요소의 새 집합 개수 :=0 숫자 :=1 동안
소문자와 대문자가 있는 문자열 s가 있다고 가정합니다. 우리는 문자열이 두 개의 인접한 문자 s[i]와 s[i + 1]을 가지지 않는 좋은 문자열이라고 생각할 것입니다. 여기서 - 0 <=i <=s의 크기 - 2 s[i]는 소문자이고 s[i + 1]은 동일한 문자이지만 대문자 또는 그 반대입니다. 문자열을 좋은 문자열로 변환하기 위해 문자열을 나쁘게 만드는 두 개의 인접한 문자를 선택하고 제거할 수 있습니다. 문자열이 좋아질 때까지 이 프로세스를 계속할 것입니다(빈 문자열도 좋은 문자열일 수 있음). 문자열을 잘 만
nums라는 배열이 있다고 가정하고 nums에 세 개의 연속적인 홀수가 있는지 확인해야 합니다. 따라서 입력이 nums =[18,15,2,19,3,11,17,25,20]과 같으면 3개의 연속 승산 [3,11,17]이 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 길이:=숫자 크기 길이가 1과 같거나 길이가 2와 같으면 거짓을 반환 그렇지 않으면 범위 0에서 숫자 - 3까지의 i에 대해 수행 nums[i], nums[i+1] 및 nums[i+2]가 모두
숫자 n이 있다고 가정하면 이 숫자를 쉼표(,)로 구분하는 문자열 형식으로 반환해야 합니다. 따라서 입력이 n =512462687과 같으면 출력은 512,462,687이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res :=n을 문자열로 res :=res의 반대 형태 ans :=빈 문자열 범위 0에서 res - 1 크기의 i에 대해 수행 i mod 3이 0과 같고 i가 0과 같지 않으면 ans :=ans 연결 , ans :=as 연결 res[i] ans :=an
숫자 n과 rounds라는 배열이 있다고 가정합니다. 1에서 n까지 레이블이 지정된 n개의 서로 다른 섹터로 구성된 원형 트랙이 있습니다. 이제 이 트랙에서 경주가 열릴 것이라고 가정하고 경주는 m개의 다른 라운드로 구성됩니다. i번째 라운드는 섹터 라운드[i - 1]에서 시작하여 섹터 라운드[i]에서 끝납니다. 예를 들어, 라운드 1이 섹터 라운드[0]에서 시작하여 섹터 라운드[1]에서 끝나는 경우입니다. 따라서 가장 많이 방문한 섹터를 오름차순으로 정렬해야 합니다. (트랙 번호는 시계 반대 방향으로 섹터 번호의 오름차순입니다)
양수 값을 가진 배열 num이 있다고 가정하고 k번 이상 반복되는 길이 m의 패턴을 찾아야 합니다. 여기서 패턴은 하나 이상의 값으로 구성되고 여러 번 반복되는 비중첩 하위 배열(연속)입니다. 패턴은 길이와 반복 횟수로 정의됩니다. k번 이상 반복되는 길이가 m인 패턴이 있는지 확인해야 합니다. 따라서 입력이 nums =[3,5,1,4,3,1,4,3,1,4,3,9,6,1], m =3, k =2인 경우 출력은 3번 나타나는 패턴 [1,4,3]이 있기 때문에 True일 것입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. −
정방 행렬이 있다고 가정합니다. 행렬 대각선의 합을 찾아야 합니다. 따라서 기본 대각선의 모든 요소와 보조 대각선의 모든 요소의 합계만 포함하고 교차 요소는 무시합니다. 따라서 입력이 다음과 같으면 10 5 9 6 8 15 3 2 3 8 12 3 2 11 7 3 그러면 출력은 다음과 같습니다. 기본 대각선 요소는 [10,15,12,3] 합계는 40, 보조 대각선 [6,3,8,2] 합계는 19이므로 총 합계는 59입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=행렬의 행 수 m이 1과 같
문자와 ?만 포함하는 소문자 문자열 s가 있다고 가정합니다. 문자, 우리는 모든 ? 마지막 문자열에 연속되는 반복 문자가 없도록 문자를 소문자로 변환합니다. 솔루션이 두 개 이상인 경우 그 중 하나를 반환하십시오. 따라서 입력이 s =hel??과 같으면 출력은 helab이 됩니다. se 첫 번째 물음표는 l을 제외한 모든 것이 될 수 있고 첫 번째 물음표가 주어지면 두 번째 물음표는 a를 제외한 모든 것이 될 수 있습니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s의 크기가 1과 같으면 s가 ?와 같으
m x n 차수의 이진 행렬이 있다고 가정하면 행렬에서 특수 위치의 수를 찾아야 합니다. 위치 (i,j)는 mat[i,j] =1이고 i행과 j열의 다른 모든 요소가 0일 때 특별한 위치입니다. 따라서 입력이 다음과 같으면 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 그러면 출력은 3이 됩니다. 여기서 특수 위치는 (0, 0), (1,2) 및 (3,1)입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 특수 :=0 행렬의 행 수까지 범위 0에 있는 i에 대해 행 행렬