๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

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.
๋ฐ˜์‘ํ˜•