ํฐ์คํ ๋ฆฌ ๋ทฐ
๊ธฐ๋ก/์ฝํ
์คํฐ๋ ๊ธฐ๋ก
์ต๋ ์ฉ๋์ด ์ ํด์ง FIFO ํ ํด๋์ค
yeahajeong 2020. 7. 13. 14:42๋ฐ์ํ
์คํธ ์คํ ๋๊ฐ๋ก FIFO ํ๋ฅผ ๊ตฌํํ ์ ์๊ตฌ๋ง ๋ชฐ๋๋ ์ฌ์ค!
class MyStack(object):
def __init__(self):
self.lst = list()
def push(self, x):
self.lst.append(x)
def pop(self):
return self.lst.pop()
def size(self):
return len(self.lst)
class MyQueue(object):
def __init__(self, max_size):
self.stack1 = MyStack()
self.stack2 = MyStack()
self.max_size = max_size
def qsize(self):
# ํ๊ฐ ๊ฐ์ง ์์ ์๋ฅผ ๋ฆฌํดํฉ๋๋ค.
return self.stack1.size()
def push(self, item):
# ์
๋ ฅ๋ฐ์ ์ธ์ x๋ฅผ ํ์ ๋ฃ์ต๋๋ค.
# ๋จ, ํ์ฌ ํ๊ฐ ๊ฝ์ฐฌ ๊ฒฝ์ฐ ์ธ์๋ฅผ ๋ฃ์ง๋ง๊ณ False๋ฅผ ๋ฆฌํดํ์ธ์.
if self.stack1.size() == self.max_size:
return False
else:
self.stack1.push(item)
return True
def pop(self):
# ํ๊ฐ ๊ฐ์ง ์์ ์ค, ๊ฐ์ฅ ์ฒ์์ ๋ค์ด์จ ์์๋ฅผ ํ์์ ์ ๊ฑฐํ๊ณ ๋ฆฌํดํฉ๋๋ค.
# ํ์ ์์๊ฐ ์๋ค๋ฉด Empty Exception์ raise ํ์ธ์.
# Empty Exception์ ๋ณธ์ธ์ด ์ง์ ๋ง๋์
์ผ ํฉ๋๋ค.
try:
if self.stack1.size() == 0:
raise emptyException
while self.stack1.size() > 0:
self.stack2.push(self.stack1.pop())
item = self.stack2.pop()
while self.stack2.size() > 0:
self.stack1.push(self.stack2.pop())
return item
except emptyException:
return False
class emptyException(Exception):
pass
n, max_size = map(int, input().strip().split(' '))
q = MyQueue(max_size)
for i in range(n):
order = input()
if order == "POP":
print(q.pop())
elif order == "SIZE":
print(q.qsize())
else:
order, a = order.strip().split(' ')
print(q.push(int(a)))
๋ฐ์ํ
'๊ธฐ๋ก > ์ฝํ ์คํฐ๋ ๊ธฐ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๋จธ์ง ํ์ (0) | 2020.07.17 |
---|---|
๋ฐฐ๋ฌ (2) | 2020.07.13 |
๋๋งต๊ฒ (0) | 2020.07.12 |
๋ฐฐ์ ๋น์ฉ ์ต์ํ (0) | 2020.07.12 |
๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2020.07.11 |
๋๊ธ
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- typeAliases
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- ์จ๋ฆฌ์์ค
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฃ๊ตฌ์กฐ
- tomcat์ค์น
- ๊ฒ์๋ฌผ์กฐํ
- ์ดํด๋ฆฝ์ค ์ค์น
- java ํ๊ฒฝ๋ณ์
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- Java
- ์๋ฐ
- java jdk ์ค์น
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
- mysql์ค์น
- ๋ถํธ ์๋์์ฑ
- ๊ฒ์๋ฌผ ์ญ์
- ๊ฒ์ํ ์ญ์
- Algorithm
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- ๊ฒ์ํ ์กฐํ
- ์คํ๋ง๋ถํธ ์๋์์ฑ
- ๊ฐ๋ฐ
- ๋ณ๋ช ์ฒ๋ฆฌ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 30 | 31 |
๊ธ ๋ณด๊ดํจ