포스트

114. 배열 만들기 6


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import Foundation

func solution(_ arr:[Int]) -> [Int] {
    
    var stk : [Int] = []
    var i : Int = 0
    
    while i < arr.count {
        if stk.count == 0{
            stk.append(arr[i])
            i+=1
        } else {
            if stk.count != 0 && stk[stk.count-1] == arr[i] {
                stk.removeLast()
                i+=1
            } else if stk.count != 0 && stk[stk.count-1] != arr[i] {
                stk.append(arr[i])
                i+=1
            }
        }
        
    }
    
    if stk.count == 0 {
        stk = [-1]
    }
    
    return stk
}

무한루프인 while을 통해 문제를 해결하였다.

마지막에 나온 결과가 빈배열일때를 위해 마지막에 if문을 만들어 처리하였다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.