풀이 1.
class Solution {
public int solution(String A, String B) {
int count = 0;
String word = A;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < A.length(); i++) {
if (word.equals(B)) return count;
sb.append(word.substring(word.length() - 1))
.append(word, 0, word.length() -1);
word = sb.toString();
sb.setLength(0);
count++;
}
return -1;
}
}
풀이 2.
class Solution {
public int solution(String A, String B) {
return (B + B).indexOf(A);
}
}
첫번째 풀이방식은 반복문을 돌며 substring()
을 통해 단어의 맨뒤를 잘라 새로운 단어의 맨 앞에 붙이고 나머지 단어를 뒤에 이어붙혀 한 칸씩 이동하는 새로운 단어를 만들어주며 B와 같은 값이 나오는지 확인한다.
두번째 풀이방식은 풀고나서 보게된 풀이방법인데 이렇게 간단한 방법이 있을 줄은 생각못했다 😳