본문 바로가기

Stack3

#3 python의 메모리 할당과 관리 (Stack & Heap Memory) https://hkim-data.tistory.com/181 #2 python의 메모리 할당과 관리 (Everything is object in Python) 2021.12.29 - [Comuter Science] - #1 python 메모리 구조 #1 python 메모리 구조 최근 기술면접에서 메모리 영역에 대한 질문을 받았는데, 예전 학부 수업때 잘 공부했고 당연히 알고 있다고 생각했는데 당황 + hkim-data.tistory.com 이전 포스팅에 이어 이제 실제 Stack과 Heap 메모리에서 어떻게 동작하는지 알아보자. 백그라운드 메모리 구성은 모든 프로세스가 일부 메모리와 함께 운영 체제에 의해 할당된다. 마찬가지로 python 인터프리터는 실행을 위해 메모리를 할당받는데, 이는 파이썬의 버전.. 2021. 12. 29.
[프로그래머스] 괄호 회전하기 (Python) https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 올바른 괄호인지 체크하는 코드와, 왼쪽으로 회전하는 것을 어떻게 짜는지만 고민하면 되는 간단한 구현 문제다. 올바른 괄호 여부에서 dict를 활용하니 훨씬 깔끔하게 풀 수 있었다. 나의 풀이 def check_correct(s): bracket_dict = {']':'[',')':'(','}':'{'} stack = [] for v in s: if len(stack) ==0: stack.append(v) elif v in bracket_dict: if bracket_dict[v] == stack[-1]: stack.pop() else: r.. 2021. 11. 1.
[프로그래머스] 짝지어 제거하기(Python) https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 스택 자료구조를 사용해서 O(N)으로 풀 수 있다. 나의 코드 def solution(s): stack = [] for i in s: if len(stack) == 0: stack.append(i) elif stack[-1] == i: stack.pop() else: stack.append(i) return 0 if stack else 1 2021. 10. 23.