Where who wants to meet someone
문자열 여러 번 뒤집기 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181913
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 답안 / 다른 사람들의 답안
import Foundation
func solution(_ my_string:String, _ queries:[[Int]]) -> String {
var string = my_string.map { String($0) }
for query in queries {
var i = query[0], j = query[1]
while i < j {
string.swapAt(i, j)
i += 1
j -= 1
}
}
return string.joined()
}
- string 변수에 my_string의 각 항목을 String으로 형변환한 배열을 저장
- queries를 for..in으로 돌면서 i가 j보다 작은 경우에 i와 j 인덱스에 있는 글자를 swapAt으로 위치를 바꾸고, i와 j의 값을 변동했다.
- 모든 쿼리 반복이 끝나면 string배열을 joined()로 String으로 만들어준 후 반환
import Foundation
func solution(_ my_string:String, _ queries:[[Int]]) -> String {
var my_string = Array(my_string)
queries.forEach {
my_string.replaceSubrange($0[0]...$0[1], with: Array(my_string[$0[0]...$0[1]].reversed()))
}
return String(my_string)
}
https://developer.apple.com/documentation/swift/array/replacesubrange(_:with:)-6a2ai
replaceSubrange(_:with:) | Apple Developer Documentation
Replaces a range of elements with the elements in the specified collection.
developer.apple.com
점수: +2
'프로그래머스 알고리즘 문제 기록 > 코딩 기초 트레이닝' 카테고리의 다른 글
부분 문자열 이어 붙여 문자열 만들기 (0) | 2024.01.18 |
---|---|
배열 만들기 5 (0) | 2024.01.18 |
9로 나눈 나머지 (0) | 2024.01.17 |
글자 이어 붙여 문자열 만들기 (0) | 2024.01.17 |
주사위 게임 3 (0) | 2024.01.17 |