본문 바로가기

SW 기술 정리 3

[자료구조]Stack, Queue, Deque [자료구조]Stack, Queue, Deque 알고리즘 문제를 풀다 보면 자료구조를 활용하여 효율적인 코드를 짤 수 있는 경우들을 볼 수 있다. 예전에 배웠던 내용들인 자료구조에 대한 이해가 부족하고 복습을 할 겸 내용을 정리해 보려고 한다. 스택(stack) 스택은 젠가 모형과 같이 차곡차곡 쌓아 올린 자료구조를 말한다. 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있고, top으로 정한 곳을 통해서만 접근을 할 수 있다. 즉 삽입하거나 삭제하거나 등 자료를 처리해야 하는 상황에서 top에 있는 데이터만 접근을 하여 push나 pop을 진행할 수 있다는 것이다. 따라서 후입선출방식인 Last In First Out 구조이다. 활용 예) - 웹페이지 뒤로가기 - 실행 취소(undo) : 가장 나.. 2021. 2. 21.
Python3 와 PyPy3 차이 Python3 와 PyPy3 차이 평소에 알고리즘 문제를 풀면서 Python을 지원하는 언어를 선택할 때, Python3와 PyPy3가 대표적으로 있었다. 원래 알던 개념은 PyPy3가 Python3의 실행시 시간이 매우 오래 걸린다는 단점이 있어, 그것을 개선하고자 JIT컴파일 방식을 도입한 것이라고 알고 있었다. 그러면, PyPy3를 이용하는 것이 무조건 효율적인데, Python3도 지원하는 이유가 무엇일까 궁금해졌다. 또한 여러 자료들을 찾아보면서, 특정경우에는 메모리, 시간 모두 Python3로 선택하는 것이 우수할 경우가 있었고, 또 다른 경우에는 메모리는 Python3가 우세하지만 시간 상으로는 PyPy3가 우수한 경우도 있었다. 그래서 조금 더 깊게 이 두 가지(Python3 vs PyPy3.. 2021. 1. 20.
Thread vs Process 배웠었던 Thread와 Process개념에 대해서 한 번 더 정리하고 가는 시간을 가지려고 합니다. Process안에 많은 Thread들이 있고, Thread는 하나의 작업이라고 이해하고 있지만, 구체적으로 Define해보려고 합니다. 두 Thread,Process개념을 정리하기 전에, 프로그램이 돌아가는 원리를 이해하는 순서로 정리 Program이란 무엇일까? -"작업을 위해서 실행할 수 있는 파일(Application이라고 표현한다)" 그 프로그램에는 수많은 바이너리 파일들이 존재하는데, 어떻게 실제로 실행이 되게 할까? -그 파일들의 실행을 담당하게 되는 게 Process이고, Process는 해당 프로그램을 실행합니다. 정리하면, Process는 "실행되고 있는 컴퓨터 프로그램"을 말합니다. 일단.. 2020. 7. 19.