Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- reduce()
- GIT
- IOS
- uikit
- prefix()
- suffix()
- 싱글톤
- 코딩테스트
- alamofire
- 알고리즘
- github
- swift
- String()
- Autolayout
- Segue
- MVC
- joined()
- xib
- API
- Info.plist
- 대문자소문자
- components()
- tableView
- uisearchbar
- 클론코딩
- replacesubrange()
- 프로그래머스
- 라이징캠프
- 코드업 파이썬 기초 100제
- zip()
Archives
- Today
- Total
Daeng iOS
[프로그래머스 코테 기초 Swift] #3-1 문자열 섞기 본문
프로그래머스 코딩 기초 트레이닝의 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()을 쓰면 이렇게나 간단해진다..!
그리고 꼭 배열로 변환해줄 필요가 없다
'알고리즘 & 코딩테스트 > 프로프래머스' 카테고리의 다른 글
[프로그래머스 코테 기초 Swift] #3-3 문자열 곱하기 (0) | 2024.03.13 |
---|---|
[프로그래머스 코테 기초 Swift] #3-2 문자 리스트를 문자열로 변환하기 (0) | 2024.03.13 |
[프로그래머스 코테 기초 Swift] #2-5 문자열 겹쳐쓰기 (0) | 2024.03.11 |
[프로그래머스 코테 기초 Swift] #2-4 홀짝 구분하기 (0) | 2024.03.05 |
[프로그래머스 코테 기초 Swift] #2-3 문자열 돌리기 (0) | 2024.02.28 |