본문 바로가기

프로그래머스 (Swift)/기초

[Day17-1] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기

문제

 

내 정답 코드

import Foundation

func solution(_ myString:String, _ pat:String) -> String {
    let patCount = pat.count
    var lastIndex: String.Index?
    
    
    for i in 0...myString.count - patCount {
        let startIndex = myString.index(myString.startIndex, offsetBy: i)
        let endIndex = myString.index(startIndex, offsetBy: patCount)
        
        if myString[startIndex..<endIndex] == pat {
            lastIndex = endIndex
        }
    }
    return String(myString[myString.startIndex..<lastIndex!])
}

 

#

1. pat 문자 수의 단어를 myString에서 탐색하는데

2. pat와 같은 단어가 있다면 해당 인덱스를 저장한다.

3. 마지막으로 같은 인덱스까지 반환한다.


배운 기술