[BOJ] 9093번 단어 뒤집기
[구현] 배열을 사용하여 단어를 append 하였습니다!!
- 풀이 : 처음 영어 알파벳으로만 이루어져 있다 라는 말이 있어서 따로 조건문을 사용하여 검사를 해주어야 하나 라는 생각을 가졌지만(isLetter 등으로) 그렇게 하면 너무 복잡해진다는 생각해 실제 주어진 문제대로 단어의 갯수를 카운팅 하여 1이면 reverse를 하지 않아도 되기 때문에(reverse를 해도 똑같기 때문이다!!!) result라는 변수에 append를 사용하여 추가하며, 공백을 추가하였습니다. 그후 count가 1이 아닌 복수의 단어라면 모두 reversed를 사용하여 append를 사용하여 추가후 공백을 추가하는 형식으로 하였습니다!!
-
정리(1) : 단어의 갯수 counting
-
정리(2) : 단어의 글자 수가 1개라면 reverse를 하지 않고 string 변수에 append후 공백 추가!!!
-
정리(3) : 단어의 글자가 복수라면 reverse를 한 후 배열에 추가 및 공백 추가!!
-
다른 풀이를 보고 느낀점 : 문제를 풀고 나서 다른 분들의 풀이를 보니깐 Stack을 이용하여 문제를 해결하셨습니다!! 스택을 사용하여 구현을 해도 되는구나 라는 생관에 감탄했습니다 ㅠ,, 문제에 대한 해결 방안은 여러가지가 있지만 스택이라는 해결방안을 생각하지 못한것은 조금 아쉽다!!! 스택에 대한 문제를 조금더 봐야할것 같다.
var T = Int(readLine()!)
for i in 0..<T! {
var N = readLine()!.split(separator: " ").map{$0}
var result: String = ""
if N.count <= 1000 {
for j in 0...N.count - 1 {
if N[j].count == 1 {
result += N[j]
result.append(" ")
} else {
result += N[j].reversed()
result.append(" ")
}
}
print(result)
}
}
Author And Source
이 문제에 관하여([BOJ] 9093번 단어 뒤집기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dohyun8032/BOJ-9093-단어-뒤집기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)