0️⃣ Algorithm&자료구조(51)
-
[BOJ] #10773 제로
import sys n = int(sys.stdin.readline()) class stacking: def __init__(self): self.top = [] def push(self, a): return self.top.append(a) def pop(self): if not self.top: pass else: return self.top.pop() def ssum(self): return sum(self.top) stack = stacking() def solution(s): if s > 0 : stack.push(s) else: stack.pop() for i in range(n): s = int(sys.stdin.readline()) solution(s) print(stack.ssum())
2022.04.25 -
[BOJ] #10828번 스택
import sys N = int(sys.stdin.readline()) class stacking: def __init__(self): self.top = [] def push(self, a): return self.top.append(a) def pop(self): if not self.top: return print(-1) else: pop_object = self.top.pop() return print(pop_object) def size(self): return print(len(self.top)) def empty(self): if len(self.top) > 0: return print(0) else: return print(1) def ttop(self): if not self.top: ..
2022.04.25 -
[자료구조] 큐(Queue) 개념 및 코드 구현
이번 포스팅에선 큐(Queue)의 개념과 코드 구현을 할 것이다. 만약 스택(Stack) 개념을 알지 못한다면 이전 포스팅을 보고 오자. [이전 포스팅 URL: https://mengu.tistory.com/29] [자료구조] 스택(Stack) 개념 및 코드 구현 자료구조 중 하나인 스택(Stack)에 대해 알아보고, 직접 코드로 구현해보자. 배열 구현과 연결 리스트 구현 모두 해볼 것이다. 들어가자. 스택(Stack) 개념 가장 나중에 넣은 데이터를 가장 먼저 빼 mengu.tistory.com 들어가보자! 큐(Queue) 개념 큐(Queue)는 FIFO(First In First Out) 방식의 자료구조이다. 먼저 들어온 요소가 가장 먼저 나간다. 큐(Queue)의 제일 앞 요소를 front, 제일 ..
2022.04.24 -
[자료구조] 스택(Stack) 개념 및 코드 구현
자료구조 중 하나인 스택(Stack)에 대해 알아보고, 직접 코드로 구현해보자. 배열 구현과 연결 리스트 구현 모두 해볼 것이다. 들어가자. 스택(Stack) 개념 가장 나중에 넣은 데이터를 가장 먼저 빼내는 데이터 구조. LIFO(Last In First Out) 방식. 스택의 가장 위 요소를 Top이라 한다. 활용 재귀적으로 함수를 호출해야 하는 작업에서, 임시 데이터를 스택에 쌓아두고 이전 단계로 돌아갈 때 데이터를 다시 꺼내오는 등으로 쓰인다. 기능 1. push() : 스택의 원소를 추가한다. 2. top() : 스택의 가장 위 원소를 가져온다. 3. pop() : 스택의 가장 위 원소를 뽑아낸다. 4. isEmpty() : 스택의 empty 여부를 확인한다. 스택(Stack) 구현 배열 구현 ..
2022.04.24 -
[BOJ] #15652번 - N과 M (4)
#15652번 - N과 M (4) 통과 Code import sys n, m = map(int, sys.stdin.readline().split()) a = [] def solution(): if len(a) == m : return print(' '.join(map(str, a))) for i in range(1, n+1): if len(a) > 0: if i < a[-1]: continue a.append(i) solution() a.pop() solution() 시간 복잡도 : O(n^m) 공간 복잡도 : O(1)
2022.04.16 -
[BOJ] # 15651번 - N과 M (3)
# 15651번 - N과 M (3) 통과 Code import sys n, m = map(int, sys.stdin.readline().split()) a = [] def solution(): if len(a) == m : return print(' '.join(map(str, a))) for i in range(1, n+1): a.append(i) solution() a.pop() solution() 시간 복잡도 : O(n^m) 공간 복잡도 : O(1)
2022.04.16