카테고리 없음

<스위프트&알고리즘> 프로그래머스 가장 긴 팰린드롬

studying develop 2020. 4. 16. 23:06

[https://programmers.co.kr/learn/courses/30/lessons/12904?language=swift]

 

아 왜 틀리는거야

 

import Foundation

func solution(_ s:String) -> Int {
    // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    //print("Hello Swift")
    
    var ans = 0
    
    for x in 0...s.count{
        var left=s.index(s.startIndex, offsetBy: x)
        var right = left
        var dis = 0
        repeat{
            dis += 1
            left = s.index(s.startIndex, offsetBy: -dis)
            right = s.index(s.endIndex , offsetBy: dis)
            
            if dis > ans {
                ans = dis
            }
        }while( s[left] == s[right] )
    }

    return ans
}

ㄱ 틀리기도 했고 .그리고 너무 c 스타일이라 맘에도 안든다. 

 

스위프트는 문자열 순회가 이렇게 까다로운건가 ,index를 사용해야 되서;...? 내가 잘못사용하는건가