포스트

150. 문자 반복 출력하기


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

func solution(_ my_string:String, _ n:Int) -> String {
    
    var result : String = ""
    
    for i in my_string {
        result += String(repeating:i, count:n)
    }
   
    return result
}

각글자가 반복적으로 만들어져야하기에 repeating을 사용하였다.

하지만 에러가 발생하였고 처음에는 내가 잘못썼나 싶어서 코드를 확인했는데 문제가 없었다 그래서 혹시나해서 i를 출력했는데 인덱스 값이 나왔다.

for문을 사용했지만 보통의 i는 index값을 가져올 때썼는데 너무도 당연하게 그렇게 작성을 했기 때문이다.

그래서 이번에는 in my_string그대로 사용하면서 i는 각각 글자 하나씩을 의미하게 하였고 결과 값을 리턴하였다.

다른 코드를 보니 map을 사용해서 했는데 더 아름다워보인다.

다른코드

1
2
3
4
5
6
7
8
9
10
import Foundation

func solution(_ my_string:String, _ n:Int) -> String {
    guard my_string.count >= 1, my_string.count <= 50, n >= 1 , n <= 50 else {
        return ""
    }
    return my_string.map( { 
        String(repeating: $0, count: n)
    } ).joined()
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.