Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions INSEA-99/week05/10773_제로.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# pypy3
# 시간(ms) : 132
# 공간(KB) : 114336

import sys
from collections import deque
input = sys.stdin.readline


q = deque()
for _ in range(int(input().strip())) :
k = int(input().strip())
if k : q.append(k) # 0이 아니면 추가
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

조건을 바로 처리하니까 더 파이썬틱(?)하고 가독성이 좋습니다!

else : q.pop() # 0이면 최근 추가건 제거
print(sum(q))
31 changes: 31 additions & 0 deletions INSEA-99/week05/18258_큐_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# pypy3
# 시간(ms) : 932
# 공간(KB) : 162568

import sys
from collections import deque
input = sys.stdin.readline

# 명령어 수행 할 함수 정의
def push_queue(x): queue.append(int(x))
def pop_queue(): return queue.popleft() if queue else -1
def get_queue_size(): return len(queue)
def is_queue_empty(): return 1 if not queue else 0
def queue_front(): return queue[0] if queue else -1
def queue_back(): return queue[-1] if queue else -1

# 명령어와 함수 맵핑
commands = {
'push': push_queue,
'pop': pop_queue,
'size': get_queue_size,
'empty': is_queue_empty,
'front': queue_front,
'back': queue_back,
}

queue = deque() # queue 선언
for _ in range(int(input().strip())) :
cmd = list(input().strip().split())
result = commands[cmd[0]](*cmd[1:]) # 명령어 dict을 이용하여 함수 실행
if result is not None : print(result)
14 changes: 14 additions & 0 deletions INSEA-99/week05/2164_카드2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# pypy3
# 시간(ms) : 132
# 공간(KB) : 121240

import sys
from collections import deque
input = sys.stdin.readline

n = int(input().strip())
q = deque(list(range(1, n+1))) # 1~n 리스트 생성
while len(q) != 1 : # 1개 남을 때까지 수행
q.popleft()
q.append(q.popleft())
print(q[0])
31 changes: 31 additions & 0 deletions INSEA-99/week05/28278_스택_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# pypy3
# 시간(ms) : 476
# 공간(KB) : 140540

import sys
from collections import deque
input = sys.stdin.readline

# 명령어 수행 할 함수 정의
def push_stack(x): stack.append(x)
def pop_stack(): return stack.pop() if stack else -1
def get_stack_size(): return len(stack)
def is_stack_empty(): return 1 if not stack else 0
def peek_stack(): return stack[-1] if stack else -1

# 명령어와 함수 맵핑
commands = {
1: push_stack,
2: pop_stack,
3: get_stack_size,
4: is_stack_empty,
5: peek_stack
}

stack = deque() # stack 선언
for _ in range(int(input().strip())) :
cmd = list(map(int, input().strip().split()))
result = commands[cmd[0]](*cmd[1:]) # 명령어 dict을 이용하여 함수 실행
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

호출부분이 증말 인상적입니다 깔끔 그 자체..!!!!

if result is not None : print(result)