Daeng iOS

[프로그래머스 코테 기초 Swift] #3-1 문자열 섞기 본문

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

[프로그래머스 코테 기초 Swift] #3-1 문자열 섞기

U_Daeng 2024. 3. 11. 20:10

프로그래머스 코딩 기초 트레이닝의 Day3은 "연산"에 관한 문제다

 

🗒️ 문제

 

✏️ 내 풀이 

import Foundation

func solution(_ str1:String, _ str2:String) -> String {
    let strArr1 = Array(str1)
    let strArr2 = Array(str2)
    var result = ""
    for i in 0..<str1.count {
        result += String(strArr1[i])
        result += String(strArr2[i])
    }

    return result
}

 

문자열을 번갈아가면서 새로운 문자열을 만들어주기 위해서.. 

먼저 주어진 문자열들을 배열로 변환해주고 

for문 안에서 한번씩 인덱스 하나씩 접근해서 붙여주었다 

 

🔍 다른 풀이 및 공부

1) 
func solution(_ str1:String, _ str2:String) -> String {
    return zip(str1, str2).map { String($0) + String($1) }.joined()
}

2) 
func solution(_ str1:String, _ str2:String) -> String {
    var result: String = ""
    for (one, two) in zip(str1, str2) {
        result.append(one)
        result.append(two)
    }
    return result
}

3)
func solution(_ str1: String, _ str2: String) -> String { 
	return zip(str1, str2).map { "\($0)\($1)" }.joined() 
}

 

그런데 zip() map()을 쓰면 이렇게나 간단해진다..! 

그리고 꼭 배열로 변환해줄 필요가 없다