[프로그래머스] 문자열 밀기

0
post-thumbnail
post-custom-banner

❔ [문제]

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

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


❕ [내 풀이]

function solution(A, B) {
    var answer = A;
    let count = 0;
    
    for(let i = 0; i < A.length; i++) {
        if(answer === B) return count;
        else if(answer !== B) {
            answer = answer[A.length-1] + answer.substring(0,A.length-1);
            count++;
        } 
    }
    if(count === A.length) return -1;
    return count;
}

❕❕❕ [깔끔하다고 생각된 풀이]

let solution=(a,b)=>(b+b).indexOf(a)
post-custom-banner

0개의 댓글