
😎풀이
- 회전 가능 횟수를
s
의 길이로 설정한다.
- 각 자리를
goal
과 비교한다.
2-1. 자리가 갖을 경우 다음 문자를 검사한다.
2-2. 자리가 다를 경우 s
의 맨 앞 문자를 맨 뒤로 보낸다.
- 이동 가능 횟수가 종료되었거나, 모든 문자를 비교했을 때
goal
과 최종적으로 비교하여 회전을 통해 만들 수 있는 문자였는지 판단한다.
function rotateString(s: string, goal: string): boolean {
const sLen = s.length
const splittedS = s.split('')
let rotateCount = sLen
let i = 0
while(rotateCount) {
if(i >= sLen) break
if(splittedS[i] === goal[i]) {
i++
continue
}
splittedS.push(splittedS.shift())
rotateCount--
}
return splittedS.join('') === goal
};