일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 카카오 2021
- 카카오 2019
- Python
- swift
- 프로그래머스
- kakao 2018
- fast.ai
- c언어
- 날씨 앱
- 최솟값 만들기
- 문제
- 소수
- SwiftUI
- 카카오
- Kakao
- swift 시작
- roboflow
- 파이썬
- 카카오 2020
- supervisely
- 데이터셋 만들기
- ios 개발 시작
- swift 배열
- 프로그래머스 답
- 머신러닝
- 카카오 2018
- coco 데이터셋
- 스위프트
- Siwft
- 이미지학습
- Today
- Total
목록[코딩] 배우는것 (51)
잡초의 일지
Array 0부터 시작. 같은 타입만 담는다. (예외 가능) 순서에 관한것. Array 선언 방법 var arr1: [Int] = [1, 2, 3, 4] var arr2: Array = [1, 2, 3, 4] 위의 두개 중 아무거나 써도 됌. Array 갯수 세기 count arr.count//배열에 있는 요소의 갯수 알 수 있음 Array 비우기 / 제거 remove, removeAll(), = [] arr.remove(at: 0)//0번째 요소 지움 arr.removeAll()//모두 지움 arr = []//모두 지움 배열이 비었는지 물어보는것. isEmpty let isEmpty = arr.isEmpty Array 채우기 append, +=, insert arr.append(5)//뒤에 5 추가 a..
이전에 했던 optional에 대한 포스팅. https://alicecodealice.tistory.com/7 [Swfit] Optional 해결방법 앞서 optional이 왜 일어나는지 알아봤다.(nil때문..) 그럼 해결방법은? 간단하게 말하자면 강제 언랩핑(Forced Unwrapping) , 옵셔널 바인딩(Optional Binding) , 옵셔널 체이닝(Optional Chaining)이 있다. 1... blog.kim-gaeun.com 옵셔널 옵셔널은 값이 있을수도 있고 없을수도 있음(nil)을 표현한 형태이다. 코드 import UIKit var carName: String? = "뚜벅이" carName = nil carName = "람보르기니포르쉐마세라티" 옵셔널 고급기능 1. 강제 언래핑..
함수와 메서드의 차이 함수는 단독적으로 실행할 수 있다. 메서드는 오브젝트 안에서 써야 한다. print가 대표적인 함수의 예. 코드 1. 파라미터가 없는 경우 func printMyName(){ print("-->My name is Alice") } printMyName() 2. 파라미터가 하나인 경우 func printMultipleOfTen(value: Int){ print("\(value) * 10 =\(value*10)") } printMultipleOfTen(value: 3) 3. 파라미터가 두개인 경우 func printTotalPrice(price: Int, num:Int){ print("Total Price: \(price*num)") } printTotalPrice(price: 500,..
ratsgo.github.io/data%20structure&algorithm/2017/10/22/bst/ 이진탐색트리(Binary Search Tree) · ratsgo's blog 이번 글에서는 자료구조의 일종인 이진탐색트리(Binary Search Tree)에 대해 살펴보도록 하겠습니다. 이 글은 고려대 김선욱 교수님, 그리고 역시 같은 대학의 김황남 교수님 강의와 위키피디아를 정 ratsgo.github.io 이진 탐색 트리는 Heap과 혼란이 올 수 있다. 이진탐색 트리는 말 그대로 "탐색" Search 하는데에 적합하다. 이런 식으로 오른쪽에는 노드보다 큰값, 왼쪽에는 작은값을 써서 찾고자 하는것을 빠르게 찾을 수 있다.
연결 표현 방법 ( linked representation )과 연결 리스트 ( linked list ) 순차 (sequential) 표현의 문제점은 연결 표현으로 해결할 수 있다. 순차표현 : 연속된 리스트의 원소들이 일정한 거리만큼 떨어져 저장. 원소들의 저장 순서가 리스트에 표현된 순서와 동일 연결 표현 : 각 원소들이 메모리 내 어떤 곳에나 위치 가능. 원소들의 저장 순서가 리스트에 표현된 순서와 반드시 똑같을 필요가 없다. 연결 표현 방법에서는 각 리스트의 원소들에 대하여 다음 원소를 가리키는 포인터(pointer) 또는 링크(link)가 연관되어 있다. 일반적으로 연결 리스트는 노드들을 포함하는데, 이 노드들은 데이터 필드와 링크 필드로 이루어져 있다. 주로 이런 구조로 이루어진다. link ..
힙 (Heap) Heap은 완전 이진트리 (complete binary tree)를 기본으로 한다. 완전 이진트리란 이런 식으로 왼쪽정렬된 모습을 하는 트리이다. 자식이 추가되면, 오른쪽에 들어온다. 최대힙, 최소힙 ( Max_Heap , Min_Heap ) 힙에는 최대힙과 최소힙이 있다. 최대힙은 부모 노드의 값이 자식 노드의 값보다 크거나 같아야 한다. 최소힙은 그 반대이다. 이것이 최대힙의 예시이다. 이진 탐색 트리 (Binary Search Tree)와 헷갈릴 수 있으니, 조심해야 한다. 힙의 표현 힙은 배열이나 linked list로 만들 수 있다. 힙 노드 추가 (insert) 노드를 추가할 땐 오른쪽으로 추가한다. 이런 방식이다. 힙 노드 삭제 (delete) 힙 노드를 삭제할 때는 root..
튜플은 비슷한 자료들의 모음집이라고 생각하면 된다. 이런 식으로 x, y좌표 값을 튜플로 만들었다. 이 좌표값들을 불러오기 위해서 let x = coordinate.0 과 let y = coordinate.1 을 사용하였다. 하지만, 여기에서 0과 1이 무엇을 의미하는지 알아보기가 힘들다. 그래서 이름을 붙여준다. x축과 y축이므로 let coordinateName = (x:5, y:9) 라고 하였다. 그럼 밑에서 이것을 불러줄 때, let x2 = coordinateName.x 와 let y2 = coordinateName.y 로 대신 이름을 불러줄 수 있다. 이런 식으로 좌표형으로 튜플을 만들어 주었다. 만든 튜플을 switch문에서 where와 함께 사용하였다.
강의 들으면서 where라는 것의 존재를 처음 알았다. where는 추가적으로 조건을 줄 수 있다. 예를 들어, for문은 이런 식으로 기존에 for문을 사용하던것과 더불어, where를 써서 조건을 추가할 수 있다. 코드설명 : i 가 0부터 10까지 i%2==0 (즉, 짝수일 경우) i 를 프린트 한다. switch 문에서도 사용할 수 있다. 이런 식으로 case에 where를 사용할 수 있다. 코드설명 : num이 num%2==0인 경우 (즉, 짝수일 경우) 짝수라고 프린트한다. 디폴트 값은 홀수로 하여, 짝수 이외의 경우 홀수가 프린트 된다.