[BOJ] 9093번 단어 뒤집기

Jenny·2021년 10월 15일
0

[구현] 배열을 사용하여 단어를 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)
    }
}
profile
"Jenny 있게 iOS 개발을 하며 대체 불가능한 인재가 되자"

0개의 댓글