조건에 따라서 분기문이 많아져서 짜면서도 하.. 이게 맞나 싶었는데 일단 맞추고 맞춘사람들 보니까 다들 비슷했습니다.
애초에 문제 자체가 많은 조건에 따라서 분기가 달라지기 때문에 이렇게 될 수 밖에.. 🤣
코드
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()
반응형
'알고리즘 > Stack' 카테고리의 다른 글
백준 1874 스택 수열 - Swift (0) | 2022.02.05 |
---|---|
백준 11899 괄호 끼워넣기 (0) | 2022.01.26 |
백준 3986 좋은 단어 (0) | 2022.01.22 |
백준 9012 괄호 (0) | 2022.01.19 |
백준 12605 단어순서 뒤집기 (0) | 2022.01.18 |