배열에서 가장 큰 수의 인덱스 찾기 Set에서 가장 많은 수의 인덱스 찾기 먼저 map 이용해서 배열로 바꾸기! 그러면 배열에서 가장 큰 수의 인덱스 찾는거랑 똑같음!! Split 활용 row기준으로 나누기, col기준으로 나누기 이렇게 하면 됨 배열에서 값 찾기 firstIndex, where 배열에서 가장 작은 값 찾기 (min) min...
병합 정렬은 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정렬하는 방식으로 동작합니다. 이 과정은 재귀적으로 구현됩니다.선택 정렬의 시간복잡도는 O(NlogN)이다.분할 과정이 한 번 시행할 때마다 리스트의 크기가 1/2씩 감소하기 때문이다.
선택정렬은 배열 안의 자료 중 가장 작은 수(혹은 가장 큰 수)를 찾아 첫 번째 위치(혹은 가장 마지막 위치)의 수와 교환해주는 방식의 정렬입니다.선택 정렬의 시간복잡도는 O(n²)이다.
버블 정렬은 두 개의 인접한 자료 값을 비교하면서 위치를 교환하는 방식으로 정렬하는 방법입니다.정렬이 필요한 이유 어떤 배열이 주어졌을 때, 그 배열이 미리 정렬되어 있다면 훨씬 빠른 속도 로 검색이 가능하다. STEP3를 보면 이미 정렬된 배열을 한번 더 돌게 되는데
선형 검색 (Linear search) 선형검색은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 검색하는 알고리즘입니다. 선형 검색은 자료가 정렬되어 있지 않거나 그 어떤 정보도 없어 하나씩 찾아야 하는 경우에 사용합니다. 선형 검색의 동작 과정
Big-O 표기법은 알고리즘이 해당 차수이거나 그보다 낮은 차수의 시간 복잡도를 가진다는 의미이다.즉, 알고리즘에 필요한 시간의 상한선을 의미한다.O(1)O(log n)O(N)O(nlog n)O(n²)Big-O와 반대되는 개념으로 최선의 경우를 뜻한다. 즉, 알고리즘에
다중 프로그래밍 시스템에는 여러개의 프로세스들이 존재한다. 프로세스들은 서로 독립적(동시적)으로 동작하는데, 이때 공유자원이나 데이터가 있으면 문제가 발생 할 가능성이 생긴다. 동기화(synchronization) 시스템을 동시에 작동시키기 위해 프로세스들이 서로 정
프로세스 스케줄링이 필요한 이유? 우리는 보통 여러개의 프로세스가 시스템 내에 존재하는 다중 프로그래밍을 사용한다. 따라서 자원을 할당 할 프로세스를 선택해야하는데 이게 바로 스케줄링!! > ### 자원 관리 시간 분할 관리 하나의 자원을 여러 스레드들이 번갈아 가면서 사용 / 예시) 프로세서 프로세스 스케줄링 - 프로세서 사용시간을 프로세스들에게 분배 ...
문제 링크 시뮬레이션은 처음이라 문제 읽자마자 당황했는데 풀다보니 나름 할만했다! 풀이 과정 > 격자의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이다. 마법사 상어는 연습을 위해 1번 행과 N번 행을 연결했고, 1번 열과 N번 열도 연결했다. 즉, N번 행의 아래에는 1번 행이, 1번 행의 위에는 N번 행이 있고, 1번 ...
자료 출처 : HPC Lab 운영체제 강의 + 구글링 프로세스란? 프로세스는 실행중인 프로그램이라고 정의할 수 있다. 맥에서 활성 상태 보기에 들어가면 이렇게 프로세스를 볼 수 있다. 프로그램 VS 프로세스 프로그램 실행 할 프로그램 + 데이터 컴퓨터 시스템에 실행 요청 전의 상태 프로세스 실행을 위해 커널에 등록된 작업 시스템 성능 향상을 위해 커널...
컴퓨터 시스템의 구조 지난 포스팅에서 컴퓨터 시스템상의 OS의 위치를 설명하기 위해 컴퓨터 시스템의 구성 요소를 살펴보았는데요. 컴퓨터 시스템은 이렇게 구성되어있습니다. 이 그림을 통해 알수있듯 어떤 사용자나 응용 소프트웨어라도 직접 하드웨어에 접근하는 것은 허용되지
운영체제(Operating System) 운영체제는 컴퓨터의 하드웨어를 관리하며, 사용자가 컴퓨터를 쉽고 편리하게 사용할 수 있도록 도와주는 시스템 소프트웨어입니다. > ### 컴퓨터(Computer) 여기서 컴퓨터란 다양한 연산을 수행하고 데이터를 처리할 수 있는
문제가 이해안가서 이해하려고 쓰는 포스팅.. 처음에 윗 예시처럼 quack / quack이라 두마리인줄 알았는데 알고보니 연속된 quack은 한마리였던거임!! 그리고 울음소리를 전부 사용해야 한다는 부분이 좀 헷갈렸다. > 그래서 우선 정상적인 울음소리가 아닌 경우
그래프(Graph) 정점(노드)과 정점을 연결하는 간선(edge)의 집합으로 구성된 자료구조 정점(Vertex): 그래프의 구성 요소 중 하나로, 노드(Node)라고도 불리고, 데이터를 저장할 수 있다. 간선(
이전까진 파이썬으로만 알고리즘을 풀었었다. Swift로 문제를 풀려니 형변환이나 문자열 다루는 방법이 너무 헷갈렸다. 우선 이 문제에 대한 내 계획은! pat의 마지막 원소의 위치를 찾아서, 처음부터 pat의 마지막 원소까지 출력하기였다. 이런 느낌을 원했는데,,