BOJ-9093, 단어 뒤집기
문제 📑
https://www.acmicpc.net/problem/9093
문제 정리 ▾
- 문장의 개수를 입력받는다.
- 그 후 문장을 입력하고 띄어쓰기를 기준으로 단어들을 뒤집어 출력시키면 된다.
접근 🚶🏻
나의 생각 ▾
- 뒤집는다에서 내 머릿속엔 reversed() 메서드가 생각이 났다.
- 적절한 for문과 forEach문을 사용한다면 구현이 가능할 것으로 판단이 되었다.
나의 해결 ▾
import Foundation
let cnt = Int(readLine()!)!
var result : String = ""
for _ in 0..<cnt {
let str = readLine()!.split(separator: " ")
str.forEach {
result.append(String($0.reversed()) + " ")
}
print(result)
result.removeAll()
}
- 코드에 관한 내용은 밑에서 살펴보자 😀
코드 리뷰 ▾
let cnt = Int(readLine()!)!
var result : String = ""
- 문장의 개수 변수(cnt)와 결과를 담을 result라는 String형 변수를 선언했다.
for _ in 0..<cnt {
let str = readLine()!.split(separator: " ")
str.forEach {
result.append(String($0.reversed()) + " ")
}
print(result)
result.removeAll()
}
- cnt만큼 입력을 받게 하는 for문을 하나 넣었다.
- 이후 임시로 입력을 받을 객체(str)를 선언한다.
- str은 공백을 기준으로 단어들을 넣은 배열 객체이다.
- str의 단어 하나하나를 접근하기 위해 forEach문을 사용하고 각각의 단어를 reversed()를 통해 뒤집어 result라는 변수에 넣어주었다.
- 다 넣으면 출력을 하고, 2번 이상 문장을 입력받기 위해 result를 초기화하는 removeAll()을 추가로 작성했다.
Additional 📂
- 출제자의 의도가 reversed()라는 메서드를 쓸 수 있는가를 묻는 의도는 아니었던 것 같다.
- 그래도 의도에 맞춰 하나하나 풀기보다 Swift를 최대한 이용하는 방식으로 방향을 잡아 보려고 한다.
'Algorithm.zip' 카테고리의 다른 글
[Swift]BOJ-1406 (0) | 2022.02.01 |
---|---|
[Swift]BOJ-9012 (0) | 2022.01.31 |
[Swift]BOJ-10828 (0) | 2022.01.30 |
[Swift]BOJ-10815 (0) | 2022.01.29 |
[Swift]BOJ-1158 (0) | 2022.01.27 |