https://school.programmers.co.kr/learn/courses/30/lessons/120921

 

문제 설명

문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

 

제한사항

  • 0 < A의 길이 = B의 길이 < 100
  • A, B는 알파벳 소문자로 이루어져 있습니다.

 

pop(): 배열에서 마지막 요소를 제거하고, 그 요소를 반환한다.

unshift(): 새로운 요소를 배열의 맨 앞쪽에 추가하고, 새로운 길이를 반환한다.

function solution(A, B) {
    let arrA = [...A]
    
    for(i=1; i<arrA.length; i++) {
        if(A === B) {
            return 0
        } else {
            arrA.unshift(arrA.pop())
            
            if(arrA.join('') === B) {
                return i
            }
        }
    }
    
    return -1
}

+ Recent posts