포스트

111. 세 개의 구분자


1
2
3
4
5
6
7
8
9
10
11
12
13
14
import Foundation

func solution(_ myStr:String) -> [String] {

    var arr : String = ""
    var answer : [String] = []
    var test : [String] = []

    answer = myStr.components(separatedBy:["a", "b", "c"]).filter{$0 != ""}

    answer = answer.count != 0 ? answer : ["EMPTY"]

    return answer
}

split을 여러문자를 어떻게 해야하나 찾다가 component를 사용했는데 아래와 같이 하면 되는거였다. or조건을 통해서 이어 붙였다.

나는 components를 사용하여 a,b,c를 포함하는 단어를 분리하였다.

하지만 components는 ““를 기본적으로 포함을 하고 있다.

그래서 filter를 통해 각각의 인자가 “” 이 아닌것만 걸러서 배열에 출력하였다.

그리고 삼항연산자를 통해 빈배열만 남을경우엔 EMPTY를 리턴하였다.

다른코드

1
2
3
4
5
import Foundation

func solution(_ myStr:String) -> [String] {
    return myStr.split { $0 == "a" || $0 == "b" || $0 == "c" }.map { String($0) }
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.