class Solution {
public String solution(String s, String skip, int index) {
StringBuilder answer = new StringBuilder();
for (char c : s.toCharArray()) {
char shiftedChar = c;//현재 문자를 기준으로 변환하기 위해 for 문 안에서
int count = 0;
while (count < index) {
shiftedChar = (char) ('a' + (shiftedChar - 'a' + 1) % 26);
if (!skip.contains(String.valueOf(shiftedChar))) {
count++;//skip에 포함되지 않는 경우에만 count 증가
}
}
answer.append(shiftedChar);
}
return answer.toString();
}
}
문제 팁과 풀이, 시행착오
(char) ('a' + (shiftedChar - 'a' + 1) % 26)
/* char형 연산법, 그리고 z가 넘어가버릴때 다시 a로 돌아오기 위해 %26를 붙여주는게
계속 익숙해지지 않는다.. */
(!skip.contains(String.valueOf(shiftedChar)))
/*
contains()메서드 중,
boolean result = 문자열.contains(확인할_문자열);
로 특정 문자열이 포함 되어있는지 확인할때 쓰인다!
*/