문제
내가 작성한 정답
class Solution {
public int solution(String A, String B) {
int length = A.length();
char[] a = A.toCharArray();
for (int i = 0; i < length; i++) {
if (B.equals(new String(a))) {
return i;
}
char last = a[length - 1];
for (int j = length - 1; j > 0; j--) {
a[j] = a[j - 1];
}
a[0] = last;
}
return -1;
}
}
다른 사람들의 정답
class Solution {
public int solution(String A, String B) {
// B를 3번 반복하여 새로운 문자열 tempB를 생성
String tempB = B.repeat(3);
// tempB에서 A가 처음 등장하는 위치(인덱스)를 찾아
// 만약 A가 포함되지 않으면 -1을 반환
return tempB.indexOf(A);
}
}
class Solution {
public int solution(String A, String B) {
// B를 두 번 이어붙인 문자열을 생성(순환 문자열을 모두 포함할 수 있다)하여
// 이후 A가 이 새로운 문자열에 포함되어 있는지 확인
return (B + B).indexOf(A);
}
}
Share article