import Foundation
func solution(_ A:String, _ B:String) -> Int {
var a = A.map { String($0) }
var count = 0
for _ in 0..<A.count {
if a.reduce("", +) == B {
return count
}
a.insert(a.removeLast(), at: 0)
count += 1
}
return -1
}
- 밀지 않아도 같은 경우가 있을 수 있으므로 반복문 실행하자마자 같은지 검사
- 오른쪽으로 하나씩 밀어야 하므로 배열의 마지막 값을 추출해 0번 인덱스에 추가
다른 사람의 풀이
import Foundation
func solution(_ A:String, _ B:String) -> Int {
let arr = (A+A).components(separatedBy: B)
return arr.count == 1 ? -1 : arr[1].count
}
- ?! 신박하지만 테케 추가되면서 실패..
- 오른쪽으로 미는 최소 횟수를 출력해야 하는데 테케 3번에서 최소 횟수가 아닌 횟수 출력 중