#include <string>
#include <vector>
using namespace std;
string solution(string s, string skip, int index) {
string answer = "";
for (int i = 0; i < s.size(); i++) {
int temp = s[i];
int k = index;
while (k--) {
if (temp + 1 <= 'z')
temp++;
else
temp -= 25;
if (skip.find(temp) != string::npos) k++;
}
answer += temp;
}
return answer;
}
단순하게 s의 인덱스만큼 for문을 돌며 temp에 s의 인덱스를 할당해주고, 건너 뛸 때 사용할 while 루프의 조건에 들어갈 k를 index만큼 할당해준다.
while문을 돌면서 temp를 증가시키고, 아스키코드 122를 넘는다면 97로 바꿔주며 lotate해주고,
그리고 현재 인덱스가 skip에 해당하는 문자라면 k를 한번 증가시켜서 루프를 한번 더 돌게 만들었다. 그리고 루프에서 빠져나오면 answer에 추가해준다.