[Python] ํ์™€ ์Šคํƒ(queue, stack)

2020. 8. 31. 03:30ยทAlgorithm/Python

ํ

ํ๋Š” ์„ ์ž…์„ ์ถœ ๋ฐฉ์‹์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฒ„์Šค๋ฅผ ํƒ€๋ ค๊ณ  ์Šน๊ฐ•์žฅ์— ๋„์ฐฉํ•œ ์Šน๊ฐ๋“ค์€ ์ฐจ๋ก€๋Œ€๋กœ ์ค„์„ ์„œ๊ฒŒ๋œ๋‹ค.

์Šน๊ฐ๋“ค์€ ๋จผ์ € ์˜จ ์ˆœ์„œ๋Œ€๋กœ ๋ฒ„์Šค์— ํƒ‘์Šนํ•˜๊ฒŒ ๋œ๋‹ค.

 

ํ์— ์ž๋ฃŒ๋ฅผ ํ•œ ๊ฐœ ์ง‘์–ด๋„ฃ๋Š” ๋™์ž‘์„ '์ธํ(enqueue)', ํ ์•ˆ์— ์žˆ๋Š” ์ž๋ฃŒ๋ฅผ ํ•œ ๊ฐœ ๊บผ๋‚ด๋Š” ๋™์žฅ์„ '๋””ํ(dequeue)'๋ผ๊ณ  ํ•œ๋‹ค.

 

์Šคํƒ

์Šคํƒ์€ ์ ‘์‹œ๋ฅผ ์Œ“๋Š”๊ฒƒ์ฒ˜๋Ÿผ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“๋Š” ๋ฐฉ์‹์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ ‘์‹œ๋ฅผ ์Œ“์•„์˜ฌ๋ฆด ๋•Œ ์ฐจ๊ณก์ฐจ๊ณก ์ ‘์‹œ๋ฅผ ์Œ“๊ณ  ์„ค๊ฑฐ์ง€๋ฅผ ํ•  ๋•Œ ๋งจ ๋ฐ‘์˜ ์ ‘์‹œ๋ถ€ํ„ฐ ๋‹ฆ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋งˆ์ง€๋ง‰์œผ๋กœ ์Œ“์€ ์ ‘์‹œ๋ถ€ํ„ฐ ๋‹ฆ๊ฒŒ ๋œ๋‹ค.

 

์Šคํƒ์— ์ž๋ฃŒ๋ฅผ ํ•˜๋‚˜ ์ง‘์–ด๋„ฃ๋Š” ๋™์ž‘์„ 'ํ‘ธ์‹œ(push)', ์Šคํƒ ์•ˆ์— ์žˆ๋Š” ์ž๋ฃŒ๋ฅผ ๊บผ๋‚ด๋Š” ๋™์ž‘์„ 'ํŒ(pop)'์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

ํ์™€ ์Šคํƒ์„ ์ด์šฉํ•œ ํšŒ๋ฌธ์ฐพ๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜

def palindrome(s):
    qu = []
    st = []

    for x in s:
        if x.isalpha():
            qu.append(x.lower())
            st.append(x.lower())

    while qu:
        if qu.pop(0) != st.pop():
            return False

    return True

print(palindrome("Wow"))
print(palindrome("Madam, I'm Adam."))
print(palindrome("Madam, I am Adam."))

๊ฒฐ๊ณผ
True
True
False

 

์ฐธ๊ณ 

isalpha()ํ•จ์ˆ˜๋Š” ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ณต๋ฐฑ, ์ˆซ์ž, ํŠน์ˆ˜๋ฌธ์ž๋“ฑ์„ ๊ฑธ๋Ÿฌ์ค€๋‹ค.

 

lower()ํ•จ์ˆ˜๋Š” ์•ŒํŒŒ๋ฒณ์„ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

 

'Algorithm > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐฑ์ค€ 6118 - ์ˆจ๋ฐ”๊ผญ์งˆ  (0) 2023.02.03
[Python] ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์นœ๊ตฌ์˜ ์นœ๊ตฌ์ฐพ๊ธฐ  (1) 2020.09.07
[Python] ์ด๋ถ„ ํƒ์ƒ‰  (0) 2020.08.26
[Python] ํ€ต ์ •๋ ฌ  (0) 2020.08.25
[Python] ๋ณ‘ํ•ฉ์ •๋ ฌ  (0) 2020.08.23
'Algorithm/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Python] ๋ฐฑ์ค€ 6118 - ์ˆจ๋ฐ”๊ผญ์งˆ
  • [Python] ๊ทธ๋ž˜ํ”„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์นœ๊ตฌ์˜ ์นœ๊ตฌ์ฐพ๊ธฐ
  • [Python] ์ด๋ถ„ ํƒ์ƒ‰
  • [Python] ํ€ต ์ •๋ ฌ
๐ŸฅญMango
๐ŸฅญMango
  • ๐ŸฅญMango
    AppleMango๐Ÿฅญ
    ๐ŸฅญMango
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • iOS
        • Swift
        • SwiftUI
        • RxSwift
      • Algorithm
        • C
        • Python
        • Swift
      • Computer Science
        • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ
        • OS
      • ...
      • ๊ฐœ๋ฐœ ํƒ€์ž„์บก์А
        • Python
        • Flutter
        • Android
        • Kotlin
        • Java
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Swift Hello World!
    ํŒŒ์ด์ฌ 1459
    ์ฝ”ํ‹€๋ฆฐ
    1613 ์—ญ์‚ฌ
    ํŒŒ์ด์ฌ 14503
    ์—ญ์‚ฌ ํŒŒ์ด์ฌ
    Apple Login
    ํŒŒ์ด์ฌ ํ† ๋งˆํ† 
    ์ฝ”ํ‹€๋ฆฐ ์ƒ์†
    swiftUI tabview
    ๋ฐฑ์ค€ ํ† ๋งˆํ† 
    Code Base
    Custom Map Marker
    SwiftUI Apple Login
    14503 ํŒŒ์ด์ฌ
    MapMarker
    ์Šคํƒ
    ํ† ๋งˆํ† 
    swiftUI Gradients
    typing animation
    ๋ฐฑ์ค€ ์†Œ์ˆ˜
    IOS
    ํŒŒ์ด์ฌ 6118
    1์ฐจ์› ๋ฟŒ์š”๋ฟŒ์š”
    ํŒŒ์ด์ฌ
    1613 ํŒŒ์ด์ฌ
    14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
    6118
    SwiftUI
    ํŒŒ์ด์ฌ ์ •๋ ฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.2
๐ŸฅญMango
[Python] ํ์™€ ์Šคํƒ(queue, stack)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”