profile
iOS Developer

swift 백준 2493

2024년 7월 5일
·
0개의 댓글
·

Swift 헷갈리는 문법 모음

배열에서 가장 큰 수의 인덱스 찾기 Set에서 가장 많은 수의 인덱스 찾기 먼저 map 이용해서 배열로 바꾸기! 그러면 배열에서 가장 큰 수의 인덱스 찾는거랑 똑같음!! Split 활용 row기준으로 나누기, col기준으로 나누기 이렇게 하면 됨 배열에서 값 찾기 firstIndex, where 배열에서 가장 작은 값 찾기 (min) min...

2024년 7월 5일
·
0개의 댓글
·

[CS] 알고리즘 05 : 병합 정렬 (Merge Sort)

병합 정렬은 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정렬하는 방식으로 동작합니다. 이 과정은 재귀적으로 구현됩니다.선택 정렬의 시간복잡도는 O(NlogN)이다.분할 과정이 한 번 시행할 때마다 리스트의 크기가 1/2씩 감소하기 때문이다.

2024년 6월 13일
·
0개의 댓글
·

[CS] 알고리즘 04 : 선택 정렬 (Selection Sort)

선택정렬은 배열 안의 자료 중 가장 작은 수(혹은 가장 큰 수)를 찾아 첫 번째 위치(혹은 가장 마지막 위치)의 수와 교환해주는 방식의 정렬입니다.선택 정렬의 시간복잡도는 O(n²)이다.

2024년 6월 10일
·
0개의 댓글
·

[CS] 알고리즘 03 : 버블 정렬 (Bubble Sort)

버블 정렬은 두 개의 인접한 자료 값을 비교하면서 위치를 교환하는 방식으로 정렬하는 방법입니다.정렬이 필요한 이유 어떤 배열이 주어졌을 때, 그 배열이 미리 정렬되어 있다면 훨씬 빠른 속도 로 검색이 가능하다. STEP3를 보면 이미 정렬된 배열을 한번 더 돌게 되는데

2024년 6월 2일
·
0개의 댓글
·

[CS] 알고리즘 02 : 선형 검색 (Linear search)

선형 검색 (Linear search) 선형검색은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 검색하는 알고리즘입니다. 선형 검색은 자료가 정렬되어 있지 않거나 그 어떤 정보도 없어 하나씩 찾아야 하는 경우에 사용합니다. 선형 검색의 동작 과정

2024년 6월 1일
·
0개의 댓글
·

[CS] 알고리즘 01 : 알고리즘 표기법

Big-O 표기법은 알고리즘이 해당 차수이거나 그보다 낮은 차수의 시간 복잡도를 가진다는 의미이다.즉, 알고리즘에 필요한 시간의 상한선을 의미한다.O(1)O(log n)O(N)O(nlog n)O(n²)Big-O와 반대되는 개념으로 최선의 경우를 뜻한다. 즉, 알고리즘에

2024년 6월 1일
·
0개의 댓글
·

[CS] 운영체제 06 : 교착상태(Deadlock)

Deadlock

2024년 5월 31일
·
0개의 댓글
·

[CS] 운영체제 05 : 프로세스 동기화 & 상호배제

다중 프로그래밍 시스템에는 여러개의 프로세스들이 존재한다. 프로세스들은 서로 독립적(동시적)으로 동작하는데, 이때 공유자원이나 데이터가 있으면 문제가 발생 할 가능성이 생긴다. 동기화(synchronization) 시스템을 동시에 작동시키기 위해 프로세스들이 서로 정

2024년 5월 29일
·
0개의 댓글
·

[CS] 운영체제 04 : 프로세스 스케줄링

프로세스 스케줄링이 필요한 이유? 우리는 보통 여러개의 프로세스가 시스템 내에 존재하는 다중 프로그래밍을 사용한다. 따라서 자원을 할당 할 프로세스를 선택해야하는데 이게 바로 스케줄링!! > ### 자원 관리 시간 분할 관리 하나의 자원을 여러 스레드들이 번갈아 가면서 사용 / 예시) 프로세서 프로세스 스케줄링 - 프로세서 사용시간을 프로세스들에게 분배 ...

2024년 5월 27일
·
0개의 댓글
·

[백준] 21610번 마법사 상어와 비바라기 - Swift

문제 링크 시뮬레이션은 처음이라 문제 읽자마자 당황했는데 풀다보니 나름 할만했다! 풀이 과정 > 격자의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이다. 마법사 상어는 연습을 위해 1번 행과 N번 행을 연결했고, 1번 열과 N번 열도 연결했다. 즉, N번 행의 아래에는 1번 행이, 1번 행의 위에는 N번 행이 있고, 1번 ...

2024년 5월 27일
·
0개의 댓글
·

[CS] 운영체제 03 : 프로세스와 스레드

자료 출처 : HPC Lab 운영체제 강의 + 구글링 프로세스란? 프로세스는 실행중인 프로그램이라고 정의할 수 있다. 맥에서 활성 상태 보기에 들어가면 이렇게 프로세스를 볼 수 있다. 프로그램 VS 프로세스 프로그램 실행 할 프로그램 + 데이터 컴퓨터 시스템에 실행 요청 전의 상태 프로세스 실행을 위해 커널에 등록된 작업 시스템 성능 향상을 위해 커널...

2024년 5월 26일
·
0개의 댓글
·

[CS] 운영체제02 : 운영체제 구조

컴퓨터 시스템의 구조 지난 포스팅에서 컴퓨터 시스템상의 OS의 위치를 설명하기 위해 컴퓨터 시스템의 구성 요소를 살펴보았는데요. 컴퓨터 시스템은 이렇게 구성되어있습니다. 이 그림을 통해 알수있듯 어떤 사용자나 응용 소프트웨어라도 직접 하드웨어에 접근하는 것은 허용되지

2024년 5월 23일
·
0개의 댓글
·

[CS] 운영체제01 : 운영체제란?

운영체제(Operating System) 운영체제는 컴퓨터의 하드웨어를 관리하며, 사용자가 컴퓨터를 쉽고 편리하게 사용할 수 있도록 도와주는 시스템 소프트웨어입니다. > ### 컴퓨터(Computer) 여기서 컴퓨터란 다양한 연산을 수행하고 데이터를 처리할 수 있는

2024년 5월 17일
·
0개의 댓글
·

[백준] 12933번 오리 - Swift

문제가 이해안가서 이해하려고 쓰는 포스팅.. 처음에 윗 예시처럼 quack / quack이라 두마리인줄 알았는데 알고보니 연속된 quack은 한마리였던거임!! 그리고 울음소리를 전부 사용해야 한다는 부분이 좀 헷갈렸다. > 그래서 우선 정상적인 울음소리가 아닌 경우

2024년 5월 13일
·
0개의 댓글
·

[CS] 자료구조 05 : 그래프(Graph)

그래프(Graph) 정점(노드)과 정점을 연결하는 간선(edge)의 집합으로 구성된 자료구조 정점(Vertex): 그래프의 구성 요소 중 하나로, 노드(Node)라고도 불리고, 데이터를 저장할 수 있다. 간선(

2024년 5월 11일
·
0개의 댓글
·

[CS] 자료구조 04 : 트리(Tree)

트리(Tree) 계층적인 구조를 나타내는 비선형 자료 구조

2024년 5월 10일
·
0개의 댓글
·

[CS] 자료구조 01 : 배열(Array)

여러 개의 데이터 요소를 담을 수 있는 자료 구조

2024년 5월 7일
·
0개의 댓글
·

[프로그래머스 / Swift] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기

이전까진 파이썬으로만 알고리즘을 풀었었다. Swift로 문제를 풀려니 형변환이나 문자열 다루는 방법이 너무 헷갈렸다. 우선 이 문제에 대한 내 계획은! pat의 마지막 원소의 위치를 찾아서, 처음부터 pat의 마지막 원소까지 출력하기였다. 이런 느낌을 원했는데,,

2024년 5월 4일
·
0개의 댓글
·