[Swift code kata] 크기가 작은 부분 문자열

황석범·2024년 11월 28일
0

내일배움캠프_iOS_5기

목록 보기
34/76

크기가 작은 부분 문자열


문제 설명


제한 사항


입출력 예


내 풀이


import Foundation

func solution(_ t:String, _ p:String) -> Int {
    
    let len = p.count
    
    var answer = 0
    
    for i in 0..<t.count-len+1 {
    	
        let startIndex = t.index(t.startIndex, offsetBy: i)
        let endIndex = t.index(t.startIndex, offsetBy: i+len-1)
        let range = startIndex...endIndex
        
        if Int64(t[range])! <= Int64(p)! {
            answer += 1
        }
    }
    return answer
}

다른 사람 풀이


import Foundation

func solution(_ t: String, _ p: String) -> Int {
    var answer = 0

    for i in 0 ... t.count - p.count {
        let subStr = t.dropFirst(i).prefix(p.count)
        if let comp = Int(subStr), let val = Int(p) {
            answer += comp - val <= 0 ? 1 : 0
        }
    }

    return answer
}

서브스트링 추출

let subStr = t.dropFirst(i).prefix(p.count)
  • t.dropFirst(i):
  • 문자열 t에서 처음 i개의 문자를 삭제합니다. 결과는 t의 뒤쪽 서브스트링이 됩니다.
  • .prefix(p.count):
  • 위에서 얻은 서브스트링의 앞쪽에서 p.count 길이만큼의 문자를 가져옵니다.
  • 이 과정은 t에서 i번째 위치부터 시작하는 길이 p.count의 서브스트링을 추출합니다.
profile
iOS 공부중...

0개의 댓글

관련 채용 정보