Daeng iOS

[프로그래머스 코테 기초 Swift] #3-2 문자 리스트를 문자열로 변환하기 본문

알고리즘 & 코딩테스트/프로프래머스

[프로그래머스 코테 기초 Swift] #3-2 문자 리스트를 문자열로 변환하기

U_Daeng 2024. 3. 13. 10:04

🗒️ 문제

✏️ 내 풀이 

import Foundation

func solution(_ arr:[String]) -> String {
    var result = ""
    for i in 0..<arr.count {
        result += arr[i]
    }
    return result
}

문제를 풀 때마다 바로 공부를 하고 다음 문제를 풀었으면 좀 더 활용도가 높았을텐데 이때까지는 문제만 풀어서..(주절주절..)

 

🔍 다른 풀이 및 공부

1) 
func solution(_ arr:[String]) -> String {
    return arr.joined()
}

2) 
func solution(_ arr:[String]) -> String {
    return arr.reduce("",+)
}

 

역시나 joined()을 잘 활용할 줄 알면 편리하다

reduce(_:_:)

reduce는 고차함수의 종류 중 하나로, 주어진 클로저를 사용하여 시퀀스의 요소를 결합한 결과를 반환한다

 

initialResult 

-> 초기 누적 값으로 사용할 값으로, 클로저가 처음 실행될 때 initialResult는 nextPartialResult로 전달된다 

 

nextPartialResult 

-> nextPartialResult 클로저의 다음 호출에 사용되거나 호출자에게 반환되기 위해 누적 값과 시퀀스의 요소를 새로운 누적 값으로 결합하는 클로저 

 

최종 누적 값을 반환하며, 시퀀스에 요소가 없으면 결과는 InitialResult를 반환한다

 

joined()와 비슷하게 누적하는 함수로 활용하면 될 것 같다

 


joined() 참고