Contents
내가 작성한 코드
내가 작성한 코드
class Solution {
public int solution(String A, String B) {
int answer = 0;
if (A.equals(B))
return 0; // 이미 같은 경우
String temp = A;
for (int i = 1; i < A.length(); i++) {
// 마지막 글자 + 나머지 글자 >> 오른쪽으로 한칸 움직이기
temp = temp.charAt(temp.length() - 1) + temp.substring(0, temp.length() - 1);
if (temp.equals(B)) {
answer = i; // 오른쪽 이동 횟수 저장
break;
}
}
temp = A;
for (int i = 1; i < A.length(); i++) {
// 나머지 글자 + 첫 글자 >> 왼쪽으로 한칸 움직이기
temp = temp.substring(1, temp.length()) + temp.charAt(0);
if (temp.equals(B))
return Math.min(answer, i); // 오른쪽 이동과 횟수 비교후 작은 값 반환
}
return -1; // 만들 수 없는 경우
}
}- 해당 코드로 진행 하면 테스트케이스 7번에서 오류 발생
- 오류 확인을 위해 변경한 코드 (이동 수 최소값 비교를 뺌)
- 정상 작동 확인
class Solution {
public int solution(String A, String B) {
if (A.equals(B)) return 0;
String temp = A;
for (int i = 1; i < A.length(); i++) {
temp = temp.charAt(temp.length() - 1) + temp.substring(0, temp.length() - 1);
if (temp.equals(B)) return i;
}
return -1;
}
}Share article
