숫자 문자열이 주어지면 그 안에 있는 짝수 부분 문자열의 개수를 찾아야 합니다. 예를 들어 보겠습니다.
입력
num = "1234"
출력
6
주어진 문자열로 구성할 수 있는 짝수 부분 문자열은
2 12 4 34 234 1234
알고리즘
-
문자열을 숫자로 초기화합니다.
-
개수를 0으로 초기화합니다.
-
문자열을 반복합니다.
-
문자 0을 빼서 현재 숫자를 가져옵니다. 현재 문자 숫자에서.
-
숫자가 짝수인지 아닌지 확인하세요.
-
현재 숫자가 짝수이면 숫자에 1을 더한 인덱스를 추가합니다.
-
- 카운트를 반환합니다.
구현
다음은 위의 알고리즘을 C++로 구현한 것입니다.
#include<bits/stdc++.h> using namespace std; int getEvenSubstringsCount(char str[]) { int len = strlen(str), count = 0; for (int i = 0; i < len; i++) { int currentDigit = str[i] - '0'; if (currentDigit % 2 == 0) { count += i + 1; } } return count; } int main() { char str[] = "12345678"; cout << getEvenSubstringsCount(str) << endl; return 0; }
출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
20