JAVA STUDY/프로그래머스
프로그래머스 문자열 밀기 문제
GreatJang
2023. 12. 15. 21:34
class Solution {
public int solution(String A, String B) {
int answer = -1;
StringBuilder sb = new StringBuilder(A);
for(int i=0; i<A.length(); i++){
if(sb.toString().equals(B)){
answer = i;
break;
}
sb.insert(0, sb.charAt(sb.length()-1));
sb.delete(sb.length()-1, sb.length());
}
return answer;
}
}
StringBuilder : 문자열을 빈번하게 변경해야할 때 사용
- 문자열 A 길이만큼 for문 실행
- 만약 sb문자열과 B문자열이 같다면 answer에 i를 초기화 한다.(i는 A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수)
- sb문자열 0번째 자리에 sb문자열 마지막 자리 문자를 넣는다, sb문자열 마지막 자리 문자를 삭제한다.
= sb 문자열 각 문자를 오른쪽으로 한 칸씩 밀기.