문제 설명
해결과정
Solution.java
class Solution {
public String solution(String s, String skip, int index) {
String answer = "";
String skipStr = replaceSkip(skip);
int length = skipStr.length();
// System.out.println(length);
// System.out.println(skipStr);
for(int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
// System.out.println("c : " + c);
int seq = skipStr.indexOf(c) + index;
// System.out.println("seq : " + seq);
seq = seq % length;
// System.out.println("seq : " + seq);
char nc = skipStr.charAt(seq);
answer += nc+"";
}
return answer;
}
// skip을 제외한 새로운 영어 소문자 모음 문자열
public String replaceSkip(String skip) {
// 영어 소문자를 순서대로 넣은 새로운 문자열 생성
String str = "";
// 영어 a부터 z까지 넣기
for(int i = (int)'a'; i < (int)'z'+1; i++) {
str += "" + ((char)i);
}
// 새로운 문자열에서 skip에 있는 문자들 제거하기
for(int i = 0; i < skip.length(); i++) {
char c = skip.charAt(i);
str = str.replace(""+c, "");
}
return str;
}
}
// System.out.print();
// System.out.println();
// for(int i = 0; i < s.length(); i++) {
// char c = s.charAt(i);
// int charIndex = (int)c;
// char skipc = (char)(charIndex + index);
// System.out.println(c + " index : " + charIndex + " skip : " + skipc);
// }
Java
복사