문제
풀이 코드
// [BOJ] 9093 - 단어 뒤집기
let T = Int(readLine()!)!
var sentReversed : String
for _ in 0..<T {
sentReversed = ""
let sentence = readLine()!.split(separator: " ")
sentence.forEach {
sentReversed.append($0.reversed() + " ")
}
print(sentReversed)
}
풀이 과정
크게 두가지 메서드를 이용하여 구현 했다.
1. ForEach
2. reversed
foreach 를 사용하여 배열 내부의 모든 요소를 검사하여 각 단어의 반전을 주었다!
reversed 메서드를 사용하여 쉽게 순서를 뒤집었는데
reverse 와 reversed 가 있다. 간단히 살펴보면 다음과 같다
1. reverse
- 원래의 배열 자체를 반전하여 변화시킴
- 시간복잡도 O(n)
2. reversed
- 호출 할때만 반전되고 원래의 배열 자체는 변화하지 않음
- 시간복잡도 O(1)
효율성을 위하여 reversed 를 사용 하였다!