#include <iostream> #include <string> #include <vector> using namespace std; //------------------------------------ // 이 곳에 Class StringAnalyzer를 정의하시오. /* class constructor는 인수로 string을 받아들이며, public method인 int getStrLength( )는 string의 길이를 반환하고, public method인 char getCharAt(int idx)는 string의 idx 위치에 있는 문자를 반환한다. 만약, idx가 유효한 범위를 넘어갈 경우에는 대문자 'A'를 반환해야 한다. public method인 int getCharSum(vector<int> values>는 vector에 담긴 숫자들을 string에 대한 인덱스로 사용하여, 해당 위치 문자들의 아스키 코드값의 합을 반환한다. 만약 숫자가 유효한 인덱스 범위를 벗어나면 대문자 'A'가 있다고 가정하여 처리한다. public method인 stirng getLastSubString(int len)은 문자열의 마지막 len개 문자들을 문자열로 반환한다. 예를 들어, 문자열이 "hello"인 경우, getLastSubString(3)은 "llo"를 반환하여야 한다. 단, 1 <= len <= string_length 이므로 len에 대한 유효성 검사는 할 필요가 없다. */ //----------이하 수정 금지 -------------------------- int main() { string str; int v; int k; vector<int> values; getline(cin, str); cin >> v; while (true) { cin >> k; if (k == -999) { break; } values.push_back(k); } StringAnalyzer sa(str); cout << sa.getStrLength() << endl; cout << sa.getCharAt(v) << endl; cout << sa.getCharSum(values) << endl; cout << sa.getLastSubString(v) << endl; return 0; }