배열 A가 있다고 가정하고 (A[0] XOR X) + (A[1] XOR X) + … + A[n – 1] XOR X가 가능한 한 최소가 되도록 숫자 X를 찾아야 합니다. 따라서 입력이 [3, 4, 5, 6, 7]과 같으면 출력은 X =7, Sum =10이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − search_res() 함수를 정의합니다. arr, n이 걸립니다. 요소 :=arr[0] 0에서 arr 크기의 범위에 있는 i에 대해 요소인 경우 요소:=arr[i] p :=(요소 밑이 2의 로그) +
두 개의 문자열 S와 T가 있다고 가정하고 사전순으로 S보다 크고 T보다 작은 동일한 길이의 문자열을 확인해야 합니다. 그런 문자열을 사용할 수 없으면 -1을 반환해야 합니다. S =S1S2… Sn은 사전식으로 T =T1T2… Tn보다 작다고 합니다. 단 i가 존재하면 S1=T1, S2=T2, … 시
숫자 배열이 있다고 가정합니다. 주어진 배열에서 정확히 하나의 요소를 제외하고 모두의 제수인 숫자 B를 찾아야 합니다. 모든 요소의 GCD가 1이 아님을 명심해야 합니다. 따라서 입력이 {8, 16, 4, 24}와 같으면 출력은 4를 제외한 모든 제수이므로 8이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=배열의 크기 n이 1과 같으면 return(배열[0] + 1) 접두사:=크기가 n인 배열, 0으로 채움 suffix :=크기가 n인 배열, 0으로 채움 접두사[0] :=배열[0] 1~n 범위의 i
이 숫자가 1, 2, 3만 존재하는 정수 n이 있다고 가정합니다. 한 자릿수를 3으로 바꿀 수 있습니다. 그런 다음 우리가 만들 수 있는 최대 수를 찾으세요. 따라서 입력이 11332와 같으면 출력은 31332가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − li :=n의 자릿수에 의한 목록 범위 0에서 li - 1 크기의 x에 대해 수행 li[x]가 3이 아니면 리[x] :=3 li에서 숫자를 병합하여 숫자를 반환 반환 n 이해를 돕기 위해 다음 구현을 살펴보겠습니다.
문자열 s가 있다고 가정합니다. 여기서 s는 접미사 am 또는 pm이 있는 12시간제 시간을 나타내며 24시간제를 찾아야 합니다. 따라서 입력이 08:40pm과 같으면 출력은 20:40이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − hour :=(s의 부분 문자열을 [인덱스 0에서 2로] 정수로 변환) mod 12 분 :=s의 부분 문자열을 [인덱스 3에서 5로] 정수로 변환 s[5]가 p와 같으면 시간 :=시간 + 12 결과를 시:분으로 반환 이해를 돕기 위해 다음 구현을 살
숫자 n이 있다고 가정하면 3의 배수이거나 3, 6 또는 9가 있는 경우를 제외하고 1에서 n까지의 각 숫자로 목록을 구성해야 합니다. 숫자, no-fill 문자열이어야 합니다. 따라서 입력이 20과 같으면 출력은 [1, 2, 박수, 4, 5, 박수, 7, 8, 짝, 10, 11, 짝, 짝, 14, 짝, 짝, 17, 짝, 짝, 20 ] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 문자열 :=채우기 없음 ls:=1에서 n까지의 숫자 목록을 문자열로 만들기 범위 0에서 ls - 1까지의 i에 대해 수행 l
양수 n이 있다고 가정하고 음이 아닌 3의 배수와 7의 음이 아닌 배수를 합산하여 n을 만들 수 있는지 여부를 찾아야 합니다. 따라서 입력이 13과 같으면 출력은 True가 됩니다. 13은 1*7+2*3 =13으로 쓸 수 있기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. 범위 0에서 n+1에 있는 i에 대해 7만큼 증가, 수행 n-i가 3으로 나누어 떨어지면 참을 반환 거짓을 반환 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − 예 class Solution:
에코 모드에 있는 휴대폰이 있다고 가정합니다. 이 모드는 배터리 잔량이 20%에 도달하면 활성화됩니다. 이 에코 모드에서는 배터리가 일반 모드보다 2배 느리게 소모됩니다. 이제 집을 나서면 배터리가 100% 남아 있습니다. 그런 다음 t분 후에 배터리가 p% 남았습니다. 전화가 꺼질 때까지 몇 분 남았는지 확인해야 합니다. 따라서 입력이 t =75 및 p =25인 경우 출력은 45가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − p <20이면 반환 2*p*t/(120-2*p) 그렇지 않으면 반환
구를 나타내는 문자열 s가 있다고 가정하면 해당 약어를 찾아야 합니다. 두문자어는 대문자여야 하며 and라는 단어를 포함하지 않아야 합니다. 따라서 입력이 Indian Space Research Organisation과 같으면 출력은 ISRO가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 토큰:=s의 각 단어를 배열로 문자열:=빈 문자열 토큰의 각 단어에 대해 수행 단어가 and가 아니면 string :=string 단어의 첫 글자를 연결 반환 문자열을 대문자로 변환
접미사 am 또는 pm이 있는 12시간제 시간을 나타내는 문자열이 있고 정수 n도 주어진다고 가정하면 시간에 n분을 추가하고 동일한 형식으로 새 시간을 반환합니다. 따라서 입력이 s =8:20pm 및 n =150과 같으면 출력은 10:50pm이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. h, m :=s에서 시와 분 부분을 취합니다. h :=h 모드 12 시간 s가 pm이면 h :=h + 12 t :=h * 60 + m + n h :=t/60의 몫, m :=t/60의 나머지 h
n이라는 정수 목록이 있다고 가정하고 이것은 10진수를 나타내고 n[i]는 [0, 9] 사이입니다. 따라서 n이 [2, 4, 9]이면 숫자 249를 나타냅니다. 숫자에 1이 추가되도록 수정한 것을 제외하고 동일한 표현에서 동일한 목록을 찾아야 합니다. 따라서 입력이 n =[9,9]와 같으면 출력은 [1, 0, 0]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=n 시작 부분에 0 추가 n의 마지막 요소를 1만큼 증가 범위 크기가 n - 1에서 0인 i에 대해 1만큼 감소, 수행 n[i
두 개의 문자열 s0과 s1이 있다고 가정하고 서로의 아나그램인지 여부를 확인해야 합니다. 우리가 알고 있듯이 두 개의 문자열은 하나가 다른 하나가 되도록 재배열할 수 있을 때 아나그램이라고 합니다. 따라서 입력이 s0 =listen, s1 =silent와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. s0 및 s1의 문자 정렬 s0과 s1의 정렬된 문자 시퀀스가 동일한 경우 참을 반환 그렇지 않으면 False를 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다
문자열 사전이 있다고 가정하면 사전은 고대 우주비행사 사전의 부분적인 사전 순서를 나타냅니다. 따라서 문자열이 있는 경우 고대 우주비행사 사전에 따라 사전순으로 정렬된 문자열인지 여부를 확인해야 합니다. 따라서 입력이 사전 =bdc, s =bbbb h ddd i cccc와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − l :=astro_dict의 크기 l이 0과 같으면 참을 반환 나는 :=0 s의 각 문자 c에 대해 astro_dict에 c가 있으면
nums라고 하는 숫자 목록이 있다고 가정하면 하나가 다른 숫자의 3배가 되도록 두 개의 숫자가 있는지 확인해야 합니다. 따라서 입력이 nums =[2, 3, 10, 7, 9]와 같으면 9는 3의 3배이므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 나는 :=0 목록 정렬 n j :=1 동안 j
단일 연결 리스트의 헤드가 있다고 가정하고 노드의 값이 오름차순으로 정렬되어 있는지 여부를 확인해야 합니다. 따라서 입력이 [2,61,105,157]과 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. solve() 함수를 정의합니다. 머리가 걸릴 것입니다 head.next가 null이면 참을 반환 =head.next.val이면 거짓을 반환 해결 반환(head.next) 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예시 class ListNode
text라는 소문자 알파벳 문자열이 있다고 가정합니다. 텍스트의 모든 문자가 알파벳의 역순으로 매핑되는 새 문자열을 찾아야 합니다. 예를 들어 a는 z가 되고 b는 y가 되는 식입니다. 따라서 입력이 abcdefg와 같으면 출력은 zyxwvut가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − N :=(z)의 ASCII + (a)의 ASCII 텍스트의 각 문자 s에 대해 ASCII 값(N - ASCII of s)의 각 문자를 결합하여 ans를 반환합니다. 이해를 돕기 위해 다음 구현을 살펴보겠습니다.
문자열 s가 있다고 가정하고 모든 고유 문자가 있는지 확인해야 합니다. 따라서 입력이 world와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − set_var :=s의 모든 문자에서 새 집합 set_var의 크기가 s의 크기와 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예 class Solution: def solve(self, s): se
0보다 큰 숫자가 있다고 가정하면 숫자가 2의 거듭제곱인지 확인해야 합니다. 따라서 입력이 1024와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 1일 때 수행 n :=n / 2 n이 1과 같으면 true를 반환하고 그렇지 않으면 0 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예 class Solution: def solve(self, n): while n > 1:
3진법(유효한 숫자 0, 1 또는 2)의 숫자를 나타내는 문자열 s가 있다고 가정하면 해당하는 10진수 정수를 찾아야 합니다. 따라서 입력이 10122와 같으면 출력은 98이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 답변 :=0 s의 각 숫자 c에 대해 ans :=3 * ans + c 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예 class Solution: def solve(self, s): ans =
행렬이 있다고 가정하고 행과 열에서 값이 가장 큰 정수의 총 개수를 찾아야 합니다. 따라서 입력이 다음과 같으면 1 3 2 4 6 5 1 5 7 6과 7이 유효하므로 출력은 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 매트 :=행렬 r_maxes :=mat의 각 행의 최대 요소 목록을 만듭니다. c_maxes :=mat의 각 열의 최대 요소 목록 만들기 a :=새 목록 범위 0에서 행 수 - 1의 r에 대해 수행 범위 0에서 열 수 - 1에 있는 c의 경우 수행