Stack3 [Swift] ์คํ(Stack) ๊ตฌํํ๊ธฐ Stack์ ๊ตฌ์กฐ์ฒด์ ๋ฐฐ์ด๋ก ๊ตฌํํ ์ ์์ต๋๋ค.๋จผ์ ์ ๋ค๋ฆญ์ ์ด์ฉํด Stack ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ํ๊ณ , ์ฃผ์ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค. struct Stack { private var stack: [T] = [] var isEmpty: Bool { return stack.isEmpty } var count: Int { return stack.count } var peek: T? { return stack.last } mutating func push(_ element: T) { stack.append(element) } mutating func pop() -> T? { .. 2024. 9. 27. [SwiftUI] Stack (VStack/HStack/ZStack) Stack ๋ทฐ๋ฅผ ์์ง ๋๋ ์ํ์ผ๋ก ์ ๋ ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ปจํ ์ด๋์ ๋๋ค. Stack์ ์ฌ์ฉํด์ ์ฌ๋ฌ๊ฐ์ ๋ทฐ๋ฅผ ๊ทธ๋ฃนํํ๊ณ ๋ ์ด์์์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. VSatck ๋ทฐ๋ฅผ ์์ง์ผ๋ก ์๋ ์คํ์ ๋๋ค. ์ ์ธ๋ ์์๋๋ก ๋ทฐ๋ค์ ์์์ ์๋๋ก ์์ด๊ฒ ๋ฉ๋๋ค. import SwiftUI struct ContentView: View { var body: some View { VStack { Text("First View") Text("Second View") Text("Third View") } } } Alignment VStack์์ alignment ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ํ์ ๋ทฐ์ ์ ๋ ฌ ๋ฐฉ๋ฒ์ ์ง์ ํ ์ ์์ต๋๋ค. .leading์ ์ ํํ๋ฉด ์ผ์ชฝ์ ๊ธฐ์ค์ผ๋ก, .trailing์ ์ ํํ๋ฉด ์ค๋ฅธ์ชฝ์ ๊ธฐ์ค์ผ๋ก, .cente.. 2024. 4. 8. [์๋ฃ๊ตฌ์กฐ] ์คํ(Stack) ์คํ(Stack) ํ์ชฝ ๋์์๋ง ์๋ฃ๋ฅผ ๋ฃ๊ณ ๋บ ์ ์๋ LIFO(Last In First Out) ํ์์ ์๋ฃ ๊ตฌ์กฐ LIFO(ํ์ ์ ์ถ): ๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ๋๊ฐ ์ฌ๊ท์ ์ธ ํจ์, ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ ์น๋ธ๋ผ์ฐ์ ๋ฐฉ๋ฌธ ๊ธฐ๋ก ๋ฑ์ ์ฌ์ฉ ์ฝ์ ๋ฐ ์ญ์ ์ O(1), ํ์์ O(n)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์คํ์ ๊ตฌ์กฐ ์คํ ์๋จ(stack top): ์คํ์ ๊ฐ์ฅ ์๋ถ๋ถ, ์คํ์์ ์ ์ถ๋ ฅ์ด ์ด๋ฃจ์ด์ง๋ ๋ถ๋ถ ์คํ ํ๋จ(stack bottom): ์คํ์ ๊ฐ์ฅ ์๋ซ๋ถ๋ถ ์์(element): ์คํ์ ์ ์ฅ๋๋ ๊ฒ ๊ณต๋ฐฑ ์คํ(empty stack): ๋น์ด์๋ ์คํ ํฌํ ์คํ(full stack): ํฌํ ์ํ์ ์คํ ์คํ์ ์ฐ์ฐ pop(): ์คํ์์ ๊ฐ์ฅ ์์ ์๋ ํญ๋ชฉ ์ ๊ฑฐ push(element): ์์๋ฅผ ์ค.. 2023. 2. 14. ์ด์ 1 ๋ค์ ๋ฐ์ํ