알고리즘/Stack

백준 17413 단어 뒤집기 2

🐶 Hong 2022. 1. 24. 20:28

조건에 따라서 분기문이 많아져서 짜면서도 하.. 이게 맞나 싶었는데 일단 맞추고 맞춘사람들 보니까 다들 비슷했습니다.

애초에 문제 자체가 많은 조건에 따라서 분기가 달라지기 때문에 이렇게 될 수 밖에.. 🤣

 

코드

let input = Array(readLine()!)
var sentence = ""
var isTagZone = false
var answer = ""

func sol() {

    for i in 0..<input.count {
        
        if input[i] == "<" {
            isTagZone = true
    
            answer += sentence.reversed()
            sentence.removeAll()
            
        } else if input[i] == ">" {
            isTagZone = false
            
            answer += String(input[i])
            continue
        } else if input[i] == " " && !isTagZone {
            answer += sentence.reversed() + " "
            sentence.removeAll()
            
            continue
        } else if i == input.count - 1 {
            sentence += String(input[i])
            answer += sentence.reversed()
            sentence.removeAll()
            
            break
        }
        
        if isTagZone {
            answer += String(input[i])
        } else {
            sentence += String(input[i])
        }
    }
    
    print(answer)
}

sol()
반응형