문제 : 둘만의 암호
레벨 1 미는 도중 따끈따끈한 갓 나온 새로운 문제가 맨 위에 있어서 해치웠다.
s를 char배열로 바꿔주고 이중반복문(내부 반복문은 index만큼 반복)을 통해 알파벳을 한 개씩 뒤로 밀어준다.
일단 한 번 밀고, 해당 알파벳이 skip에 포함된 알파벳인지를 확인하고 포함되었다면 해당 알파벳을 건너뛰고 다시 한 번 더해준다. 이는 do while문을 사용하여 구현하였다.
class Solution {
public String solution(String s, String skip, int index) {
char[] words = s.toCharArray();
for(int i = 0 ; i < words.length ; i++){
for(int j = 0 ; j < index ; j++){
do{
words[i]++;
if(words[i] > 'z'){ //범위 초과시 a로 돌아옴
words[i] -= 26; // == 'a'와 동일
}
}while(skip.contains(String.valueOf(words[i])));
}
}
String answer = String.valueOf(words);
return answer;
}
}