Search
Duplicate
🎢

글자 이어 붙여 문자열 만들기

Created
2023/10/24 10:34
Tags

Swift

나의 풀이
import Foundation func solution(_ my_string: String, _ index_list: [Int]) -> String { var answer: String = "" for i in index_list { let index = my_string.index(my_string.startIndex, offsetBy: i) answer.append(my_string[index]) } return answer }
Swift
복사
Best
func solution(_ my_string: String, _ index_list: [Int]) -> String { let my_string = my_string.map { String($0) } return index_list.reduce("") { $0 + my_string[$1] } }
Swift
복사
코드 까보기
let my_string = my_string.map { String($0) }
Swift
복사
my_string의 각 문자를 개별 String 객체로 변환한다.
.map 메서드는 원본 문자열의 각 문자에 대해 반복하며, 클로저 { String($0) } 를 사용하여 각 문자를 새 String 인스턴스로 변환한다.
결과는 각각의 문자가 별도의 String 객체로 구성된 배열이다.
return index_list.reduce("") { $0 + my_string[$1] }
Swift
복사
.reduce 메서드를 사용하여 결과 문자열을 생성한다. .reduce는 컬렉션의 요소를 결합하여 단일 값을 생성하는 함수이다. 이 경우, 빈 문자열에서 시작하여, index_list의 각 요소에 대해 반복한다.
$0 은 현재까지 축적된 문자열을 나타내며, 초기값은 빈 문자열이다.
$1 은 index_list 의 현재 요소(즉, 인덱스)을 나타낸다.

Python

나의 풀이
def solution(my_string, index_list): answer = '' for i in index_list: answer += my_string[i] return answer
Python
복사
Best
def solution(my_string, index_list): return ''.join([my_string[idx] for idx in index_list])
Python
복사