MUKER_DEV with iOS

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ž˜๋ผ์„œ ๋ฐฐ์—ด๋กœ ์ €์žฅํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/programmers

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ž˜๋ผ์„œ ๋ฐฐ์—ด๋กœ ์ €์žฅํ•˜๊ธฐ

MUKER 2022. 12. 28. 17:40
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


๋ฌธ์ œํ’€์ด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด์™€
๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด๋กœ ๋‚˜๋ˆ„์–ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด

func solution(_ my_str:String, _ n:Int) -> [String] {
    var lower = 0
    var upper = n - 1
    var result = [String]()
    for _ in 1...my_str.count/n {
        result.append(String(my_str[my_str.index(my_str.startIndex, offsetBy: lower)...my_str.index(my_str.startIndex, offsetBy: upper)]))
        lower += n
        upper += n
    }
    if my_str.count % n != 0 {
        result.append(String(my_str.suffix(my_str.count % n)))
    }
    return result
}

 

๋‹ค๋ฅธ ๋ฐฉ์‹์˜ ํ’€์ด

func solution(_ my_str:String, _ n:Int) -> [String] {
    var result: [String] = []
    var split = ""
    for (index, item) in my_str.enumerated() {
        split += String(item)
        if split.count == n {
            result.append(split)
            split = ""
        }
    }
    if !split.isEmpty {
        result.append(split)
    }
    return result
}

 

๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด

func solution(_ my_str:String, _ n:Int) -> [String] {
    
    stride(from: 0, to: my_str.count, by: n).map {
        let start = my_str.index(my_str.startIndex, offsetBy: $0)
        let end = my_str.index(start, offsetBy: n, limitedBy: my_str.endIndex) ?? my_str.endIndex
        return String(my_str[start..<end])
    }
}