[알고리즘문제풀기] 문자열 밀기

silver's avatar
Feb 02, 2025
[알고리즘문제풀기] 문자열 밀기

문제

내가 작성한 정답

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

silver