1. 상수와 변수 Swift에는 상수와, 변수 개념이 있습니다 ! 상수는 초기 할당 후 변하지 않는 값, 변수는 초기 할당 후 변할 수 있는 값에 사용합니다. //선언 (타입은 생략가능) let 상수이름: 타입 = 값 var 변수이름: 타입 = 값 //예시 let letInt: Int = 100 var varInt: Int = 200 print(letInt) // 100 출력 print(varInt) // 200 출력 letInt = 200 print(letInt) // error 발생 varInt = 300 print(varInt) // 300 출력 변수, 상수는 선언 후에 나중에 값을 할당할 수 있습니다. 하지만 상수는 최초 값 할당 후, 값을 변경할 때 에러가 발생합니다. let letInt: In..

안녕하세요! 모바일 앱을 이용하다보면 위와 같은 선택 옵션 버튼을 본 적이 있으실텐데요. 선택된 옵션과 선택되지 않은 옵션에 대해 배경색 등으로 차이를 주어 선택한 옵션을 시각적으로 알 수 있는 기능입니다! 오늘은 이와 같은 기능을 구현하기 위해 제가 사용했던 방법을 알려드리겠습니다. 먼저, 첫번째로 시도했던 방법입니다. @IBOutlet var oneWeek: UIButton! //1주 @IBOutlet var oneMonth: UIButton! //1달 @IBOutlet var threeMonth: UIButton! //3달 @IBOutlet var sixMonth: UIButton! //6달 ViewController에 4개의 UIButton을 생성해 주고 IBOutlet으로 각 버튼을 스토리보드에..
https://programmers.co.kr/learn/courses/30/lessons/12946 코딩테스트 연습 - 하노이의 탑 하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대�� programmers.co.kr 재귀를 이용해 구현하였습니다. C++ 소스 코드 #include #include using namespace std; vector answer; void hanoi(int n, int from, int to, int tmp){ vector temp = { from, to }; if (n == 1) answer.push_back(temp..
https://programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr C++ 소스 코드 #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer; int r = (int) arr1.size(); int c = (int) arr2[0].size(); vector a; a.resize(c,0); answ..
퀵 정렬은 분할정복 기법으로 pivot값을 이용해 정렬하는 알고리즘입니다. 한 번 수행할 때 마다 크기가 반씩 줄어들며, pivot 값을 기준으로 왼쪽은 pivot 보다 작은 수, 오른쪽은 pivot보다 큰 수들이 모이게 됩니다. 퀵 정렬은 평균적으로 O(NlogN)의 시간복잡도로 수행되지만 최악의 경우 O(N^2)의 시간복잡도를 가집니다. C++ 소스 코드 #include using namespace std; int nums[] = {3,6,1,2,9,7,4,4,10,8}; void quickSort(int s,int e){ if (s>=e) return; int p = s; int i = s+1; int j = e; while(i j){ // 인덱스가 엇갈렸으면 작은 수, pivot swap int ..
삽입정렬은 현재원소를 앞의 원소들과 비교해가며, 적절한 위치에 삽입하는 정렬기법입니다. for문과 while 문을 중첩하기에 O(N^2)의 시간복잡도를 가집니다. C++ 소스 코드 #include using namespace std; int main(){ int nums[] = {3,6,1,2,9,7,4,5,10,8}; for(int i=0;i=0 && nums[j]>nums[j+1]){ int temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; j--; } } for(int i=0;i nums[j+1] { let temp = nums[j] nums[j] = nums[j+1] nums[j+1] = temp j-=1 } } for num in nums { pr..
programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr C++ 소스 코드 #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; vector days; for(int i=0;i
- Total
- Today
- Yesterday
- bounds
- 백준온라인저지
- disposeBag
- Kotlin
- SwiftUI
- mergesort
- cocoapods
- Lottie
- ios
- Neo4j
- GraphDB
- rxswift
- Reactivex
- 백준
- blendshape
- C++
- 안드로이드
- blendshapes
- DispatchQueue
- ARKit
- rxswift6
- 알고리즘
- 코코아팟
- SWEA
- 카카오인턴십
- 프로그래머스
- boj
- Swift
- infallible
- coreml
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |