포스트

35. 배열 만들기 4

나의 코드

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
import Foundation

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

    
    return stk
}

이렇게 생각한 이유

i가 arr의 길이보다 작을때 까지 계속 돌아가야하기에 while문을 사용하였다.

그다음 if 조건으로 stk 배열에 값을 추가를 하였다.

배열의 마지막값을 비교해야 하는데 lastIndex를 그대로 썼다가 에러가 발생하여 그냥 count를 통하여 에러를 수정했다.

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