이 튜토리얼에서는 문자열을 복호화한 후 k번째 문자를 찾는 프로그램에 대해 논의할 것입니다.
이를 위해 문자와 숫자 및 정수 K로 구성된 문자열이 제공됩니다. 우리의 임무는 주어진 문자열을 해독하고 K번째 위치에서 문자를 찾는 것입니다.
예
#include <cstdlib> #include <iostream> using namespace std; //finding decrypted Kth character char findKthChar(string s, int k) { int len = s.length(); int i = 0; int total_len = 0; while (i < len) { if (isalpha(s[i])) { total_len++; if (total_len == k) return s[i]; i++; } else { int n = 0; while (i < len && !isalpha(s[i])) { n = n * 10 + (s[i] - '0'); i++; } int next_total_len = total_len * n; if (k <= next_total_len) { int pos = k % total_len; if (!pos) { pos = total_len; } return findKthChar(s, pos); } else { total_len = next_total_len; } } } return -1; } int main() { string s = "ab2c3"; int k = 5; cout << findKthChar(s, k); return 0; }
출력
c