소문자 문자열이 있다고 가정합니다. 우리의 임무는 문자열에 있는 모음을 뒤집는 것입니다. 따라서 문자열이 hello이면 모음 반전 후 문자열은 holle입니다. programming 문자열의 경우 prigrammong이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 문자열을 가져와 모음 목록을 만들고 인덱스도 저장 모음 목록 반전 idx 설정 :=0 for i :=0에서 주어진 문자열의 길이까지 – 1 i가 인덱스 목록에 있는 경우 - 모음[i]을 최종 문자열에 입력 idx :=idx + 1 그렇지 않으면 st
두 개의 배열 A와 B가 있다고 가정하고 이 배열에는 요소가 거의 없습니다. 우리는 그것들의 교차점을 찾아야 합니다. 따라서 A =[1, 4, 5, 3, 6]이고 B =[2, 3, 5, 7, 9]이면 교집합은 [3, 5]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 배열 A와 B 두 개 사용 A의 길이가 B의 길이보다 작으면 교환 배열의 요소 빈도를 계산하고 m에 저장 B의 각 요소 e에 대해 e가 m에 있고 빈도가 0이 아닌 경우 주파수 m[e] 1 감소 결과 배열에 e 삽입 결과 배열 반환 예시 이해
이진 트리가 있다고 가정합니다. 우리는 나무의 지름의 길이를 계산해야 합니다. 이진 트리의 지름은 실제로 트리의 두 노드 사이에서 가장 긴 경로의 길이입니다. 이 경로가 반드시 루트를 통과하는 것은 아닙니다. 따라서 트리가 아래와 같으면 [4,2,1,3] 또는 [5,2,1,3] 경로의 길이가 3이므로 지름은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dfs를 사용하여 지름을 찾고 답을 0으로 설정합니다. 루트 dfs(root)로 dfs 함수 호출 dfs는 dfs(node)와 같이 작동합니다. 노드가 없
2n개의 정수 배열이 있다고 가정하고 이러한 정수를 n개의 정수 쌍으로 그룹화해야 합니다(예:(a1, b1), (a2, b2), ..., (an, bn)). (ai, bi) 가능한 한 큰 범위 1에서 n까지의 모든 i에 대해. 따라서 입력이 [1, 4, 3, 2]이면 출력은 4가 됩니다. 따라서 n은 2입니다. 쌍의 최대 합은 4입니다. 이것은 min(1, 2) + min(3, 4)입니다. =4 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n은 배열의 크기입니다. 배열 정렬 답변 :=0 0~n 범위의 i에 대해 2만큼 점
보석으로 간주되는 일부 문자를 나타내는 문자열 J와 우리가 가지고 있는 일부 돌을 나타내는 다른 문자열 S가 있다고 가정합니다. 우리의 임무는 S의 얼마나 많은 돌이 보석인지 찾는 것입니다. J와 S의 문자는 대소문자를 구분합니다. 따라서 J =aZc, S =catTableZebraPicnic이면 7개의 보석이 있습니다. 이 문제를 해결하기 위해 문자열을 문자 목록으로 변환합니다. J의 문자가 S에 있으면 개수를 늘립니다. 예 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − class Solution(object):  
두 개의 문자열 A와 B가 있다고 가정합니다. 문자열 A를 회전하고 회전 위치에서 B와 일치하는지 확인하고 일치하는 경우 true를 반환하고 그렇지 않으면 false를 반환합니다. 예를 들어 A =abcde, B =bcdea인 경우 A를 회전한 후 B로 변환할 수 있으므로 답은 true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − A와 B가 모두 비어 있으면 true를 반환하고, 길이가 다른 경우에는 false를 반환합니다. A :=A 다음에 A 연결 i :=0 및 j :=0 동안 i
문자열 집합(Sentence)이 있다고 가정하고 그 집합에는 단어가 거의 없습니다. 각 단어는 소문자와 대문자로 구성됩니다. 우리의 임무는 문장을 염소-라틴어 형식으로 변환하는 것입니다. 염소 라틴어는 돼지 라틴어와 유사합니다. 몇 가지 조건이 있습니다. 단어가 모음으로 시작하는 경우 단어와 함께 ma를 추가합니다. 자음으로 시작하는 단어를 처음부터 제거하고 끝에 붙이고 끝에 ma를 붙입니다. 1부터 시작하는 문장의 단어 색인마다 각 단어 끝에 하나의 문자 a를 추가합니다. 따라서 예가 Adam은 대학에 가고 싶어 합니다와 같
A와 B가 두 친구라고 가정합니다. 다양한 크기의 캔디바가 있습니다. 여기서 A[i]는 A가 소유한 i번째 막대의 크기이고 B[j]는 B가 소유한 j번째 막대의 크기입니다. 그들은 친구이기 때문에 교환 후에 A와 B가 같은 사탕을 갖게 되도록 각각 하나의 막대 사탕을 교환하려고 합니다. (사람이 가지고 있는 캔디의 총량은 그들이 가지고 있는 캔디바 크기의 합입니다.) ans라고 가정하면 정수 배열을 반환해야 합니다. 여기서 ans[0]은 A가 교환해야 하는 캔디바의 크기이고, as[1]은 B가 교환해야 하는 캔디바의 크기입니다.
어떤 숫자가 있는 배열 A가 있다고 가정합니다. 짝수 다음 홀수로 숫자를 정렬해야 합니다. 따라서 짝수를 먼저 넣고 홀수를 입력하십시오. 따라서 배열이 A =[1, 5, 6, 8, 7, 2, 3]과 같으면 결과는 [6, 8, 2, 1, 5, 7, 3]과 같습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − i :=0 및 j :=0으로 설정 while j
문자열 S가 있다고 가정하고 문자가 아닌 모든 문자가 위치를 변경하지 않고 모든 문자가 위치를 바꾸는 역 문자열을 찾아야 합니다. 따라서 주어진 문자열이 a-bC-dEf-ghIj이면 출력은 j-Ih-gfE-dCba가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 이 문제를 해결하기 위해 정규 표현식 라이브러리를 사용할 것입니다. S가 비어 있으면 S를 반환합니다. str :=빈 문자열, index1 :=0 및 index2 :=길이 S – 1 동안 index1
A라는 정수 배열과 배열 쿼리가 있다고 가정합니다. i 번째 쿼리 값 =쿼리[i][0] 및 인덱스 =쿼리[i][1]의 경우 A[인덱스]에 값을 추가합니다. 그러면 i번째 질의의 답은 A의 짝수 값의 합이다. 우리는 모든 질의에 대한 답을 찾아야 한다. i번째 쿼리에 대한 답변으로 answer[i]가 있어야 하는 배열을 찾을 것입니다. 따라서 배열이 [1,2,3,4]이고 쿼리 배열이 [[1,0],[-3,1],[-4,0],[2,3]]과 같은 경우 그러면 응답 배열은 [8,6,2,4]와 같습니다. 따라서 처음에는 배열이 [1,2,3,4]
배열 형식의 숫자가 있다고 가정합니다. 따라서 숫자가 534라면 [5, 3, 4]와 같이 저장됩니다. 숫자의 배열 형식으로 다른 값 k를 추가해야 합니다. 따라서 최종 숫자는 또 다른 숫자 배열이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 각 숫자를 가져와서 문자열로 만든 다음 문자열을 연결합니다. 문자열을 정수로 변환한 다음 숫자 추가 그런 다음 다시 문자열로 변환하고 문자열에서 각 숫자를 취하여 배열을 만듭니다. 예 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − class Solution(object
십진수 시스템에 숫자가 있다고 가정합니다. 숫자의 보수를 이진 형식으로 얻은 다음 다시 십진수로 변경하고 결과를 반환해야 합니다. 따라서 숫자가 20이면 이진 형식은 10100이 되고 보수는 01011이 되며 십진수로 11이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s :=숫자 n의 이진 문자열 합계:=0 및 숫자:=1 s의 각 요소 i에 대해 역방향으로 i =b이면 합계를 반환합니다. 그렇지 않으면 i =0일 때 sum :=sum + num 숫자 :=숫자 * 2 예 이해를 돕기 위해 다음 구현을 살펴
노래 목록이 있다고 가정하고 i번째 노래의 지속 시간은 [i]초입니다. 총 시간(초)을 60으로 나눌 수 있는 노래 쌍의 수를 찾아야 합니다. 따라서 시간 배열이 [30, 20, 150, 100, 40]과 같으면 답은 3이 됩니다. 세 쌍은 모든 경우에 대해 (3, 150), (20, 100), (20, 40)입니다. 총 지속 시간은 60으로 나눌 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 나머지를 저장하려면 맵 rem을 가져오세요. 다음으로 설정 :=0 시간 내 모든 요소 i에 대해 − rem에서 i가
정수 배열 A가 있다고 가정하고 배열을 합이 동일한 비어 있지 않은 세 부분으로 분할할 수 있는 경우에만 출력이 참이 됩니다. 공식적으로 (A[0] + A[1] + ... + A[i] is same as A[i+1] + A[ i+2] + ... + A[j-1] 및 A[j] + A[j-1] + ... + A[A.길이 - 1]) 따라서 입력이 [0,2,1,-6,6,-7,9,1,2,0,1]이면 출력은 true가 됩니다. 세 개의 배열은 [0,2,1], [-6,6,-7,9,1] 및 [2,0,1]입니다. 이 문제를 해결하기 위해 다음
암석이 있다고 가정하고 각 암석에는 양의 정수 가중치가 있습니다. 매 턴마다 우리는 가장 무거운 돌 두 개를 가져다가 함께 부술 것입니다. 돌에 가중치 x와 y가 있고 x <=y가 있다고 가정합니다. 이 스매시의 결과는 두 가지 유형이 될 수 있습니다. x =y이면 두 돌이 완전히 파괴됩니다. 그렇지 않으면 x !=y일 때 무게 x의 돌은 완전히 파괴되고 무게 y의 돌은 새로운 무게 y-x를 갖습니다. 마지막으로 최대 1개의 스톤이 남아 있습니다. 이 돌의 무게를 구해야 합니다. (돌이 없을 때는 0입니다.) 따라서 돌 무게
소문자로 된 문자열 S가 있다고 가정합니다. 중복 제거 작업이 수행됩니다. 이것은 두 개의 인접하고 동일한 문자를 선택하고 제거하여 수행됩니다. 중복이 남지 않을 때까지 S에서 중복을 반복적으로 제거합니다. 이러한 모든 중복 제거가 완료된 후 문자열을 반환합니다. 답변이 고유함을 보장합니다. 문자열이 abbacaca라고 가정하면 대답은 caca가 됩니다. 처음에는 중복 항목 bb를 삭제한 다음 문자열이 aacaca이고 aa를 제거하고 문자열이 caca이고 중복 항목이 없습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다.
한 세트의 학생들이 사진을 찍기 위해 키가 감소하지 않는 순서로 배열되어야 한다고 가정합니다. 학생 배열이 있는 경우 올바른 위치에 있지 않은 학생의 최소 수를 반환해야 합니다. 따라서 배열이 [1, 1, 4, 2, 1, 3]과 같으면 출력은 3이 됩니다. 따라서 키가 4, 3이고 마지막 1인 학생은 올바른 위치에 서 있지 않습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 답변 :=0 let x :=정렬된 형태의 배열 ley y :=배열 for i :=0 ~ 배열 크기 – 1 − x[i]가 y[i]와 같지 않으면 답
두 개의 문자열 A와 B가 있다고 가정합니다. B를 한 번 이상 연결하여 A를 만들 때 A를 B로 나눌 수 있다고 말할 수 있습니다. 따라서 A =abcabc이고 B =abc이면 A는 B로 나눌 수 있습니다. 이 섹션에서는 문자열의 최대 공약수가 무엇인지 볼 것입니다. 따라서 두 문자열을 모두 나누는 가장 큰 문자열을 반환합니다. 따라서 두 문자열이 ABABAB 및 ABAB이면 GCD는 AB가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − temp :=A와 B 사이의 짧은 문자열 m :=온도의 길이 x :=1 re
주어진 단어가 있다고 가정합니다. 이들은 첫 번째와 두 번째입니다. 일부 텍스트에서 첫 번째 두 번째 세 번째 형식의 발생을 고려하십시오. 여기서 두 번째는 첫 번째 바로 다음에 오고 세 번째는 두 번째 바로 다음에 옵니다. 이러한 경우 각각에 대해 답변에 세 번째를 추가하고 답변을 표시합니다. 따라서 텍스트가 lina is a good girl she is a good song과 같은 경우 첫 번째 =a, 두 번째 =good인 경우 답은 [girl, sing]입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − tex