본문 바로가기

분류 전체보기125

[OS/운영체제] 메모리 계층(Memory Hierarchy) 메모리 (Memory) CPU가 직접 접근할 수 있는 기억장치 프로세스가 실행되려면 프로그램이 메모리에 올라와야함 프로그램 실행 시 필요한 주소, 정보들을 저장하고 가져다 사용할 수 있게 만드는 공간 1. 메모리의 특징 지역성 : 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것 시간적 지역성(Temporal locality) : 특정 데이터가 한 번 접근되었을 경우,가까운 미래에 또 한 번 데이터에 접근할 가능성이 높음 공간적 지역성(Spatial locality) : 액세스 된 기억장소와 인접한 기억장소가 액세스 될 가능성이 높음 지역성 원리를 이용하여 계층으로 구성됨 위로 갈수록 접근시간 감소, 속도 증가, 비용 비쌈, 용량 적음 성능 결정 요인 : 기억용량(capacity), 접근시간(a.. 2023. 1. 29.
[OS/운영체제] 운영체제란 운영체제 (Operatting System) 컴퓨터 시스템의 각종 하드웨어적인 자원과 소프트웨어적인 자원을 효율적으로 운영, 관리함으로써 사용자가 시스템을 이용하는데 편리함을 제공하는 시스템 소프트웨어 ✔ 즉, 사용자가 컴퓨터(하드웨어)를 사용하기 위해 필요한 소프트웨어 사용자는 어플리케이션(App)을 통해 컴퓨터에 원하는 작업을 요청 OS 위에서 구동하는 App은 OS에게 해당 요청을 전달 OS에서 해당 작업에 필요한 자원 할당 하드웨어에서 해당 작업 수행할 수 있게 도와줌 운영체제는 사용 분류에 따라 임베디드, 서버, 모바일, 데스크탑으로 분류될 수 있다. 대표적인 운영체제 : Windows, Linux, Mac Os, iOS ... 1. 운영체제의 목적 🚗 주된 목적은 컴퓨터 하드웨어를 관리하는 것.. 2023. 1. 28.
[알고리즘/Python] 이진 탐색(Binary Search) 너무 편향된 알고리즘 문제만 푼 나를 반성하며 이진 탐색에 대하여 정리해보려고 한다. 1. 이진 탐색이란? 검색 범위를 줄여나가며 특정 데이터를 검색하는 알고리즘 정렬된 정수의 리스트를 같은 크기의 두 부분 리스트로 나누고 필요한 부분에서만 탐색하도록 제한하여 원하는 원소를 찾는 알고리즘이다. 리스트 중간 부분에 찾는 원소가 있는지 확인하고, 없으면 위쪽에 있는지 아래쪽에 있는지 판단하여 맨 앞부터 검색하거나 중간부터 검색한다. 2. 동작 방식 배열의 중간 값을 가져온다. 중간 값과 검색 값을 비교한다. 중간 값이 검색 값과 같으면 종료 (mid = key) 중간 값이 검색 값보다 크다면 중간 값 기준 오른쪽 구간을 대상으로 탐색 (mid < key) 중간 값이 검색 값보다 작으면 중간 값 기준 왼쪽 구.. 2023. 1. 28.
[프로그래머스/파이썬] 디펜스 게임 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 : 준호는 디펜스 게임을 진행한다. 병사는 n명 가지고 있고, 적을 마주할 때 마다 적의 수만큼 아군의 수도 줄어든다. 단, '무적권'이라는 스킬을 사용할 시 병사의 소모없이 한 라운드의 공격을 막을 수 있다. 무적권을 적절히 사용하여 준호가 몇 라운드까지 버틸 수 있는지 출력하라. level 2문제길래 가볍게 접근했다가 애를 먹었다. 이진 탐색 + 파라메트릭 서치 + 힙 문제는 사실.. 2023. 1. 27.
[Python] 파이썬 딕셔너리 값 정렬 (key, value) 딕셔너리를 자주 사용하지 않아서 그런지, 한번 사용할 때마다 방법이 가물가물했다. 블로그에 딱 정리해두고 내 머리에도 정리해두자! 👶 dict_ex = { 'b':5, 'c':4, 'B':1, 'a': 2 } 1. key를 기준으로 오름차순 정렬 딕셔너리에 .item() 을 해주면, 각 key, value가 들어있는 tuple 리스트로 변한다. dict_ex = { 'b':5, 'c':4, 'B':1, 'a': 2 } print(dict_ex.items()) sorted()에 인자로 위에서 구한 튜플(dict_ex.items())을 전달하여 주면 오름차순으로 정렬된다. sorted_dict = sorted(dict_ex.items()) print(sorted_dict) 참고로 items를 이용하지 않고,.. 2023. 1. 24.