문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
제한사항
0 < A의 길이 = B의 길이 < 100
A, B는 알파벳 소문자로 이루어져 있습니다.
function solution(A, B) {
const array = A.split('');
let count = 0;
for(let i = 0; i < array.length; i++){
const popped = array.pop();
array.unshift(popped);
const final = array.join('');
count ++;
if(final === B) {
break;
};
}
if(A === B){
return 0;
}else if(count > 0 && count < A.length){
return count;
}else if(count === A.length){
return -1;
}
}
이렇게 풀긴했지만
function solution(A, B) {
if (A===B) return 0;
for (let i = 0; i < A.length; i++) {
A = A.slice(-1) + A.slice(0,-1);
if (A === B) return i+1;
}
return -1;
}
이 방법이 좋아보인다..
'algorithm' 카테고리의 다른 글
코테14 - 가장 가까운 같은 글자 (0) | 2024.05.24 |
---|---|
코테13 - 짝수는 싫어요 (0) | 2024.03.21 |
코테11 - 최빈값 구하기 (0) | 2024.03.10 |
코테10 - 중앙값 구하기 (0) | 2024.03.10 |
코테9 - 피자 나눠먹기 (0) | 2024.03.10 |