쥐수의 공부노트
백준 5430번 AC 본문
728x90
정답 :
let n = Int(readLine()!)!
for _ in 0..<n {
let str = readLine()!
let num = Int(readLine()!)!
var array = readLine()!.dropFirst().dropLast().split(separator: ",").map{String($0)}
var head = 0
var check = false
var tail = array.count
for i in str {
if i == "R" {
if check {
check = false
} else {
check = true
}
}
if i == "D" {
if check {
tail -= 1
}
else {
head += 1
}
}
if head > tail {
break
}
}
if head > tail {
print("error")
}
else {
if check {
print("[\(array[head..<tail].reversed().joined(separator: ","))]")
} else {
print("[\(array[head..<tail].joined(separator: ","))]")
}
}
}
더보기
TMI : 어떤 방식으로 풀어야 하는지는 감이 왔지만, 실천에 옮기지 못했다.. 그래도 찾아보면서 풀게 되었다!
728x90
'swift 알고리즘 > 큐, 덱' 카테고리의 다른 글
백준 1021번 회전하는 큐 (0) | 2023.06.16 |
---|---|
백준 10866번 덱 (0) | 2023.06.14 |
백준 11866번 요세푸스 문제 0 (0) | 2023.06.13 |
백준 2164번 카드2 (1) | 2023.06.13 |
백준 18258번 큐 2 (0) | 2023.06.12 |