분류 전체보기
-
[Kotlin 코틀린 기초] 변수 및 자료형 (Nullable & Non-NulKotlin 2021. 1. 6. 22:10
'디모의 Kotlin 강좌' 유튜브 강의를 듣고 내용을 정리하였습니다. 변수 - var : 일반적으로 통용되는 변수. 언제든지 읽기 쓰기가 가능 - val : 선언시에만 초기화 가능. runtime시 변경되지 말아야할 값 선언 위치에 따라 - Property(속성) : 클래스에 선언된 변수 - Local Variable(로컬변수) : 이외의 Scope 내에 선언된 변수 Kotlin과 Java 차이점 Java Kotlin 고전적인 언어들은 변수가 선언된 후 초기화 되지 않으면 기본값 또는 null값으로 초기화 기본 변수(Non-null 타입)은 null을 허용하지 않으며, 또한 초기화 하지 않은 채로 사용하게 되면 컴파일 에러 int, boolean과 같은 primitive type을 제외한 객체들은 항상..
-
[Git/GitHub] Git 을 이용한 사이드 프로젝트 협업 방식 정리Git 2020. 12. 20. 21:21
사이드 프로젝트를 위해 Git 전략을 어떻게 가져갈지 많이 고민하고 있는 중이다. Git으로 협업하는 방법에는 크게 두가지가 있다. 1. 하나의 원격저장소에서 모든 팀원들이 각자 브랜치를 두고 작업하는 방식 2. 중앙 원격저장소에서 팀원들이 본인의 원격저장소로 Fork해서 작업하는 방식 2번 Fork 방식은 아래와 같이 운영할 수 있다. 팀원들의 수가 N명이라면, 중앙원격저장소 : 팀원 원격저장소 : 팀원 로컬저장소 = 1 : N : N 이라고 할 수 있다. 1) 프로젝트 중앙 원격저장소 GitHub에 팀 계정 또는 Organization을 새로 생성한다. 해당 팀 계정의 Repository를 생성하여 프로젝트 소스코드를 Push한다. ex) team/project → 배포 가능한 상태만 관리하는 저장소..
-
프로토타이핑 툴 '카카오 오븐' - 장점 및 단점사이드 프로젝트/Your K-Dance (Android) 2020. 12. 13. 11:36
ovenapp.io/ OvenApp.io Oven(오븐)은 HTML5 기반의 무료 웹/앱 프로토타이핑 툴입니다. (카카오 제공) ovenapp.io 이번에 2명이서 안드로이드 사이드 프로젝트를 시작하였다. 지금까지 노트 앱에서 직접 손으로 그림을 그리면서 화면에 대한 논의를 했는데, 이제는 구체적인 모바일 화면 구성 작업을 하기 위해서 프로토타이핑 툴이 필요했다. 특히 무료인 툴이 필요했는데, 무료이면서도 굉장히 간단한 카카오의 '오븐'을 발견해서 활용하려고 한다. 사용하면서 내가 느꼈던 장점 및 단점을 정리해보려고 한다. 1. 장점 1) 무료이다! 유료인 프로토타이핑 툴들은 굉장히 많은데, 우리같이 개인적으로 사이드 프로젝트를 하는 데 있어서 유료를 사용하는 것은 굉장한 사치이다. 이렇게 무료이면서도 ..
-
[알고리즘/DP] 백준 1912번: 연속합 - C++알고리즘/백준 2020. 12. 12. 21:59
www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 다이나믹 프로그래밍(DP) 을 이용하였다 #include #include using namespace std; int a[100000], d[100000]; int main() { int n, ans; cin >> n; for (int i = 0; i > a[i]; } d[0] = a[0]; for (int i = 0; i < n; i++) { d[i] = max(a[i], d[i - 1] ..
-
[알고리즘/DP] 백준 11055번: 가장 큰 증가 부분 수열 - C++알고리즘/백준 2020. 12. 12. 21:56
www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net 다이나믹 프로그래밍(DP)을 이용하였다 #include #include using namespace std; int a[1000], d[1000]; int main() { int n, ans = 0; cin >> n; for (int i = 0; i > a[i]; for (int i = 0; i < n; i++) { d[i] ..
-
[알고리즘/DP] 백준 11052번: 카드 구매하기 - C++알고리즘/백준 2020. 12. 12. 21:55
www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 다이나믹 프로그래밍을 이용하였다. #include #include using namespace std; int p[10001], d[10001]; int main() { int N; cin >> N; for (int i = 1; i > p[i]; } d[0] = 0; for (int i = 1; i
-
[알고리즘/DP] 백준 9095번: 1,2,3 더하기 - C++알고리즘/백준 2020. 12. 12. 21:54
www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 다이나믹 프로그래밍을 이용하였다. #include using namespace std; int d[12]; int main() { int T, n; cin >> T; d[1] = 1; d[2] = 2; d[3] = 4; for (int i = 4; i > n; cout
-
[알고리즘/DP] 백준 11726번: 2xn 타일링 - C++알고리즘/백준 2020. 12. 12. 21:51
www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 다이나믹 프로그래밍을 이용하였다. #include using namespace std; int d[1001]; int main() { int n; cin >> n; d[0] = 1; d[1] = 1; for (int i = 2; i