두 개의 문자열 s와 t가 있다고 가정합니다. 이미 모음인 경우 임의의 위치에 있는 문자를 임의의 모음으로, 이미 자음인 경우에만 자음으로 변경할 수 있습니다. s가 t로 표현될 수 있는지 또는 그 반대가 될 수 있는지 확인해야 합니다. e 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s_size :=s의 크기 s_size가 t의 크기와 같지 않으면 거짓을 반환 0에서 s_size 범위에 있는 i에 대해 s[i]와 t[i]가 모음이면 다음 반복으로 이동 그렇지 않으면 s[i] 및 t[i]가 모음이 아닌 경우 다
두 개의 문자열 소문자 문자열 s와 t가 있다고 가정합니다. 다음 제약 조건을 사용하여 s에서 t를 생성할 수 있는지 여부를 확인해야 합니다. - 예를 들어 t에 2개의 a가 있으면 s에도 2개의 a가 있어야 합니다. t의 문자가 s에 없으면 이전 두 문자(이전 두 ASCII 값)가 s에 있는지 확인합니다. 예를 들어, f가 t에 있지만 s에는 없으면 d와 e를 s에서 사용하여 f를 만들 수 있습니다. 따라서 입력이 s =pghn t =pin과 같으면 g와 h에서 i를 만들어 pin을 만들 수 있으므로 출력은 Tru
두 개의 문자열 s와 t가 있다고 가정합니다. 좌우 어느 방향으로든 2개 회전시켜 얻을 수 있는지 확인해야 합니다. 따라서 입력이 s =kolkata t =takolka와 같으면 takolka를 왼쪽으로 두 번 회전하여 kolkata를 얻을 수 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s의 크기가 t의 크기와 같지 않으면 거짓을 반환 right_rot :=빈 문자열 left_rot :=빈 문자열 l :=t의 크기 left_rot :=left_rot 연결 t[인덱스 l - 2에서
문자열이 있다고 가정합니다. 주어진 문자열의 문자를 섞어 회문을 만들 수 있는지 여부를 확인해야 합니다. 따라서 입력이 s =aarcrce와 같으면 문자를 섞어 회문인 racecar를 형성할 수 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 크기 :=256 freq :=크기가 256이고 0으로 채워지는 배열 0에서 s 크기의 범위에 있는 i에 대해 다음을 수행합니다. 주파수 배열에서 문자 s[i]의 빈도를 1씩 증가 홀수_카운트:=0 0~크기 범위의 i에 대해 freq[i]가 id
두 개의 문자열 s와 t가 있다고 가정하고 문자열 s를 연결하여 t를 생성할 수 있는 횟수를 찾아야 합니다. s를 사용하여 t를 생성할 수 없으면 -1을 반환합니다. 따라서 입력이 s =tom t =tomtomtom과 같으면 tom을 3번 연결하여 tomtomtom을 얻을 수 있으므로 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − t의 크기가 s의 크기로 나누어지지 않으면 반환 -1 cnt :=(t의 크기 / s의 크기)의 몫 s :=s cnt 횟수 연결 s가 t와 같으면 반환 cnt 반환
두 개의 문자열 s와 t가 있다고 가정합니다. s에서 t를 몇 번이든 삭제할 수 있습니다. 그리고 t는 한 번에 한 번만 나타납니다. 필요한 만큼 t를 제거하여 s가 비어 있을 수 있는지 확인해야 합니다. 따라서 입력이 s =pipipinnn t =pin과 같으면 pipipinnn에서 pin을 제거할 수 있으므로 출력은 True가 되고 pipinn을 얻고 다시 pin을 제거합니다. 문자열 pin을 얻은 다음 제거하여 비우십시오. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 0인 동안 do position :=s에 있는
문자열 s가 있다고 가정합니다. 이 문자열에 짝수 길이의 회문이 포함되어 있는지 여부를 확인해야 합니다. 따라서 입력이 s =afternoon과 같으면 afternoon이 짝수 길이의 회문 noon을 가지므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. 0에서 문자열 크기 - 1 사이의 i에 대해 문자열[i]가 문자열[i + 1]과 같으면 참 반환 거짓을 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예시 def solve(string): for i i
문자열이 a^nb^n 패턴을 따르는지 여부를 확인해야 하는 문자열이 있다고 가정합니다. 이것은 실제로 n =3일 때 문자열이며 문자열은 aaabbb가 됩니다. 따라서 입력이 s =aaaaabbbbb와 같으면 출력은 a^5b^5 다음과 같이 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 크기 :=s의 크기 0에서 크기 - 1 사이의 i에 대해 s[i]가 a와 같지 않으면 루프에서 나오다 i * 2가 크기와 같지 않으면 거짓을 반환 i에서 크기 - 1까지의 범위에 있는 j에 대해 s[j]가
소문자 문자열 s가 있다고 가정하고 최대 1자를 삭제하여 s를 유효한 문자열로 변환할 수 있는지 확인해야 합니다. 여기서 유효한 문자열은 str의 모든 고유 문자에 대해 각 문자의 빈도가 동일하도록 문자열 str을 의미합니다. 따라서 입력이 s =xyyzx와 같으면 z를 삭제할 수 있으므로 출력은 True가 되고 문자열은 x와 y의 발생이 동일한 xyyx가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 크기:=26 occurrence :=크기가 26인 배열. 각 문자의 빈도를 s에 저장합니다. occr1 :=0
이진 문자열 s와 다른 값 m이 있다고 가정하면 문자열에 m개의 연속적인 1이 있는지 m개의 연속적인 0이 있는지 확인해야 합니다. 따라서 입력이 s =1110111000111, m =3과 같으면 0과 1이 연속해서 세 개 있기 때문에 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − str_size :=s의 크기 count_0 :=0, count_1 :=0 0 ~ str_size - 2 범위의 i에 대해 s[i]가 0과 같으면 count_1 :=0 count_0 :=count_0 + 1 그
문자열 s가 있다고 가정합니다. 주어진 문자열이 colindrome인지 확인해야 합니다. 콜린드롬은 6개의 회문이 연결된 문자열입니다. 따라서 입력이 s =aabbaamnoonm과 같은 경우 출력은 aabbaa 및 mnoonm과 같은 회문을 포함하고 둘 다 길이가 6이므로 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s의 크기가 6의 배수가 아니면 거짓을 반환 0 ~ s - 1 범위의 i에 대해 6만큼 증가, do s[인덱스 i에서 i+5까지]가 회문(palindrome)이 아니면 거짓을 반환
문자열 s가 있다고 가정합니다. 주어진 문자열이 isogram인지 아닌지 확인해야 합니다. 아이소그램은 각 문자의 발생이 정확히 하나인 문자열입니다. 따라서 입력이 s =education과 같으면 education의 모든 문자가 정확히 한 번 발생하기 때문에 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − char_list :=새 목록 단어의 각 문자에 대해 다음을 수행합니다. 문자가 숫자가 아닌 경우 char가 char_list에 있으면 거짓을 반환 char_list 끝에 char 삽입
두 개의 문자열 s와 t가 있다고 가정합니다. s가 t의 접미사인지 아닌지 확인해야 합니다. 따라서 입력이 s =ate t =unfortunate와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s_len :=s의 크기 t_len :=t의 크기 t_len이면 거짓을 반환 0에서 s_len 범위에 있는 i에 대해 다음을 수행합니다. s[s_len - i - 1]이 t[t_len - i - 1]과 같지 않으면 거짓을 반환 참 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다.
두 개의 소문자 문자열 s와 t가 있다고 가정합니다. 때로는 모음을 입력할 때 키가 길게 눌러져 모음이 1회 이상 반복되는 경우가 있습니다. s를 나타내는 t가 입력될 수 있는지 여부를 확인해야 합니다. 따라서 입력이 s =mine t =miiine과 같으면 모음 i가 세 번 반복되므로 출력은 True가 되고 다른 문자는 괜찮습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s_len :=s의 크기 t_len :=t의 크기 j :=0 0 ~ s_len - 1 범위의 i에 대해 s[i]가 t[j]와 같지 않으면 거짓
세 개의 각이 있다고 가정합니다. 이 각도로 양의 면적의 삼각형을 만드는 것이 가능한지 여부를 확인해야 합니다. 따라서 입력이 a =40 b =120 c =20과 같으면 출력은 40 + 120 + 20 =180의 합으로 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − a, b, c가 0이 아니고 (a + b + c)가 180과 같으면 =b, 그러면 참 반환 그렇지 않으면 거짓을 반환 그렇지 않으면 거짓을 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예시 def solve(a,
길이가 2인 문자열 s가 있고 모든 단어의 길이가 2인 단어 w의 목록이 있다고 가정합니다. w에서 단어를 연결할 수 있고 연결된 문자열에 s가 하위 문자열로 포함되어 있는지 확인해야 합니다. 따라서 입력이 s =no, w =[ol, on, ni, to]와 같으면 출력은 onol과 같은 문자열을 연결할 수 있으므로 True가 됩니다. 아니오 포함 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=w의 단어 수 char_0 :=거짓, char_1 :=거짓 0 ~ n - 1 범위의 i에 대해 w[i]가 s와 같으면 참
nums라는 숫자 목록이 있다고 가정하고 nums의 모든 요소가 고유한지 여부를 확인해야 합니다. 따라서 입력이 nums =[2, 3, 6, 5, 1, 8]과 같으면 모든 요소가 고유하므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=l의 크기 s :=새로운 세트 0에서 n 사이의 i에 대해 l[i]를 s에 삽입 s의 크기가 l의 크기와 같으면 true를 반환하고, 그렇지 않으면 false를 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예 def solve(l) :
숫자 n이 있다고 가정합니다. 주어진 숫자 n에 대해 모든 비트가 설정(1)되었는지 확인해야 합니다. 따라서 입력이 n =255와 같으면 255의 이진 표현이 11111111이므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자가 0과 같으면 거짓을 반환 0, do 숫자가 짝수이면 거짓을 반환 숫자 :=(숫자 / 2)의 몫 참 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예 def solve(number): if number == 0: &nb
숫자 n이 있다고 가정합니다. 모든 자릿수가 n을 나눌 수 있는지 여부를 확인해야 합니다. 따라서 입력이 n =135와 같으면 (135 / 1 =135), (135 / 3 =45) 및 (135 / 5 =27)이므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − val :=n 0일 때 수행 d :=val 모드 10 n이 d로 나누어 떨어지지 않으면 거짓을 반환 val :=(val / 10)의 몫 참 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예시 def is_divisib
숫자 num의 목록이 있다고 가정합니다. 목록이 회문인지 아닌지 확인해야 합니다. 따라서 입력이 nums =[10, 12, 15, 12, 10]과 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=숫자 크기 is_palindrome 재설정 i :=0 i <=(n / 2)의 몫이고 n이 0이 아닌 동안 do nums[i]가 nums[n - i - 1]과 같지 않으면 is_palindrome 설정 루프에서 나오다 나는 :=나는 + 1 is_palindrome이 설정되면 거짓을 반환