iOS/알고리즘

[프로그래머스]수박수박수박수박수박수?

kihun5393 2021. 8. 12. 02:46

https://programmers.co.kr/learn/courses/30/lessons/12922?language=swift 

 

코딩테스트 연습 - 수박수박수박수박수박수?

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한

programmers.co.kr

처음 제출한 답안

func solution(_ n:Int) -> String {
    assert(n <= 10000, "자연수가 아닙니다.")
    
    var subak = ""
    
    for i in 1...n {
        subak.append(i % 2 == 1 ? "수" : "박")
    }
    
    return subak
}

다시 풀어본 답안

func solution(_ n:Int) -> String {
    return "\(String(repeating: "수박", count: n / 2))\(n % 2 == 0 ? "" : "수")"
}

String(repeating:count:) 로 반복할 문자열을 생성할 수 있다.

특정 문자열의 반복이 필요할 때 유용한 생성자입니다.

 

var str = String(repeating: "글자", count: 2)

생성자이기 때문에 이런식으로도 활용이 가능합니다.