목록전체 글 (119)
BOID

안녕하세요 HoonIOS입니다 :) 이번은 swift의 extensions에 대해 공부를 해봤는데요, 제가 생각한 것보다 훨씬 포괄적이고 제가 모르는 부분이 많아서 포스팅을 했습니다. 그럼 한번 알아보겠습니다. extensions 란? * 애플 공식 문서에서 정의된 extensions - 공식문서에서 보면 새로운 함수적 기능을 class, structure, enumeration, or protocol type에 확장한다는 의미를 지니고 있습니다. - 익스텐션은 스위프트의 강력한 기능 중 하나로 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있다. - 스위프트의 익스텐션이 타입에 추가할 수 있는 기능은 다음과 같다. 연산 타입 프로퍼티/ 연산 인스턴스 프로퍼티 타입 메서드/ 인스턴스..
안녕하세요, HoonIOS입니다. 저번에는 기초 알고리즘과 시간 복잡도(추가사항)에 대해 알아봤는데요 (이곳을 클릭하시면 저번 포스팅 내용을 보실 수 있습니다.) 이번 시간에는 O표기법, 주먹구구 법칙에 대해서 알아보겠습니다. 점근적 시간 표기: O 표기 - 우선 O표기법의 정의 대해 알아보겠습니다. O표기법이란 주어진 함수에서 가장 빨리 증가하는 항만 남긴 채 나머지 값들은 다 버리는 표기법입니다. 즉 쉽게 말해 제일 높은 다항 차만 빼고 나머지 값을 버린다고 생각하시면 되겠습니다. - 알고리즘에서는 입력의 크기가 두개 이상의 변수로 표현될 때는 그중 가장 빨리 증가하는 항들만을 떼놓고 나머지를 버린다는 의미입니다. - 예를 들어 N² + N의 알고리즘 입력 크기가 나왔다면 여기서 O표기법으로는 N² ..

안녕하세요, HoonIOS입니다. 저번에는 알고리즘의 시간 복잡도, 선형 시간 알고리즘, 선형 시간 이하 알고리즘, 이진 탐색인 기초 알고리즘을 알아봤는데요. 이곳을 클릭 하시면 저번에 포스팅했던걸 보실 수 있을 겁니다. 이번에는 저번 기초 알고리즘에 이은 다항 시간 알고리즘, 지수 시간 알고리즘, 소인수 분해의 수행 시간, 그다음 시간 복잡도에 좀 더 알아보도록 하겠습니다. 다항 시간 알고리즘이란? - 다항 시간 알고리즘이란 반복문의 수행 횟수를 입력 크기의 다항식으로 표현할 수 있는 알고리즘이다. 예를 들어) n², n...을 말한다. - 다항 시간은 하나의 분류에 포함되는 알고리즘 간에도 큰 시간 차이가 날 수 있는데 이것은 loop안에도 코드에 따라 큰 시간 차이가 날 수도 있습니다, 그만큼 같은..

안녕하세요 HoonIOS입니다 :) 오늘은 기본부터 다시 공부하고 있는데 iOS에서 제일 중요한 기본 중의 기본! 프레임워크에 대해 포스팅을 하려고 합니다. 우선 프레임워크의 의미를 알아야 겠죠? 프레임워크란? - 프레임워크의 사전적인 의미는 어떤 것을 이루는 뼈대, 기본 구조를 이야기합니다, 비유를 하자면 건축을 할 때 뼈대, 형태를 의미합니다. - 이것을 iOS의 소프트웨어에서 사용하는 프레임워크는 애플리케이션 제작을 빠르고 편리하게 할 수 있도록 뼈대를 이루는 각종 코드를 제작하여 미리 모아둔거라고 생각하시면 됩니다. - 이렇게 설명하면 어려울 수 있으니 iOS에서 사용하는 대표적인 클래스를 보고 말씀드릴게요, 우선 UIButton, UILabel, UIViewController ... 등이 있는데..

안녕하세요, HoonIOS입니다. 저번시간에는 기초적인 알고리즘 개념과 알고리즘 평가하는 기준에 대해 알아봤는데요 만약에 못보셨다면 여기 들어가서 한번 글읽어보시는걸 추천드려요~! 이번 챕터에는 시간복잡도 분석, 선형 시간 알고리즘, 선형 이하 알고리즘, 이진 탐색 알고리즘에 대해 알아보겠습니다. 알고리즘의 시간 복잡도 - 우선 제일 기본적인 개념으로는 말그대로 알고리즘의 프로그램에 의해 컴파일 되었을때 걸린 시간이라고 할수 있습니다. - 알고리즘의 시간복잡도인 알고리즘의 속도를 비교하기 위해 가장 직관적인 방법은 각각 프로그램으로 구현한뒤 같은 입력으로 두 프로그램의 수행 시간을 측정한는 방법이 있습니다. - 근데 위 방법으로 구한 프로그램 수행시간이 알고리즘의 속도의 기준이 되기에는 매우 부적합하다...
안녕하세요, HoonIOS입니다. 개인적인 공부를 하다가 드디어 첫 포스팅을 하게 되었는데요, 저의 발전을 위해서 꾸준히 업로드하겠습니다 :) 우선 시간복잡도을 알아보기에 앞서 알고리즘에 대해 알아봐야겠죠! 알고리즘이란? - 어떤 작업이 주어졌을 때 컴퓨터가 이 작업을 해결하는 방법을 말합니다. 즉 한 개의 작업에 대한 알고리즘의 경우의 수는 매우 많을 거 같네요 - 단!!!!!!!!!!!!!!!!!!!!! 알고리즘이란 한가지 방법을 명료하게 써놓아야 하지 주관적이고 애매 모호하게 써놓은 것은 알고리즘이라고 할 수 없습니다. (예를 들어, 어느 목적지를 가기위해 a라는 버스를 타고 b라는 지하철을 타서 c라는 목적지에 도착한다라는 정확한 방법이 쓰여있어야 한다는 뜻입니다.) - 가능한한 명료하고 정확한 ..