Programming
-
[Android] 레이아웃Programming/Android 2020. 5. 22. 21:30
LinearLayout - 가장 많이 사용되는 Layout - 사용이 간편하고 표시 형태가 직관적 - 박스 형태의 디스플레이 화면에 UI 요소들을 일렬로 배치 가능 - orientation 속성을 사용해 View 위젯의 배치방향지정 RelativeLayout - 레이아웃 내의 자식(Children) 뷰 위젯들이 서로 간의 상대적(Relative) 위치 관계에 따라 최종적으로 표시될 영역을 결정하도록 만드는 레이아웃 - 상대적 위치의 대상으로 반드시 자식(Children) 뷰 위젯만 지정할 수 있는 것은 아님 - TextView(제목)를 화면의 상단에 배치. - TextView(제목) 아래에 Button(이전) 추가. - Button(이전) 오른쪽에 Button(다음) 추가. - TextView(제목) 아..
-
[Android] 기본적인 안드로이드 구조 및 용어 파악하기(2)Programming/Android 2020. 5. 21. 17:33
1. Intent(인텐트) - 인텐트(Intent)란 이러한 어플리케이션 구성요소(컴포넌트)간에 작업 수행을 위한 정보를 전달하는 역할을 함 - 4대 컴포넌트끼리 유기적으로 정보전달을 가능케해주는 것 - 앱에서 무언가 작업을 수행하기 위해 사용하는 일종의 전달수단 - 내가 만든 액티비티나 애플리케이션의 구성요소개 해야할일을 지정 and 타 애플리케이션의 기능 수행 - 인텐트 기본 구성요소 --> 액션 (Action) : 수행할 기능 --> 데이터 (Data) : 액션이 수행될 대상 데이터 1-1 명시적 인텐트 - 인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출할 대상을 확실히 알 수 있는 경우에 사용 - 주로 애플리케이션 내부에서 사용 --> 사용하는 이유 : 특정 컴포넌트나 액티비티가 명확하게 실..
-
[Android] 기본적인 안드로이드 구조 및 용어 파악하기(1)Programming/Android 2020. 5. 21. 16:34
1. Manifest - AndroidManifest.xml -> 매니페스트 파일은 Android 빌드 도구, Android 운영체제 및 Google Play 앱에 관한 필수 정보를 설명 - 즉 메니페스트란 "안드로이드 시스템이 앱의 코드를 실행하기 전에 확보해야 하는 앱에 대한 필수 정보를 시스템에 제공하는 목록" Manifest에 선언해야 하는 내용 - 앱의 패키지 이름 - 앱의 구성요소 - 시스템 또는 다른 앱의 보호된 부분에 액세스하기 위해 필요한 권한 - 앱에 필요한 하드웨어 및 소프트웨어 기능 2. Permission - Manifest에 어떤 권한을 얻을 것인지 명시해야함 - Activity클래스에서도 권한에 따른 코드를 추가해야함 - 권한을 얻지 못한 상태에서 해당 권한이 필요한 작업을 시..
-
[Algorithm] 순열Programming/Algorithm 2020. 4. 24. 13:40
- 순열은 조합과 다르게 뽑힌 아이들에도 순서가 있다..!! 과거에 뽑은 아이들도 다시 확인을 해주어야 한다...!!!! 조합은 { 1, 2, 3 }, { 2, 1, 3 }이 같은 취급을 받는다. 순열은 { 1, 2, 3 }, { 2, 1, 3 }이 다른 취급을 받는다. #include #include #define MAX 5 using namespace std; int arr[MAX]; int check[MAX]; vector v; void print(){ for (int i = 0; i < v.size(); ++i) { cout
-
[Algorithm] 조합Programming/Algorithm 2020. 4. 24. 12:57
- 순서가 상관없음 { 1, 2, 3 }, { 1, 3, 2 }, {2, 1, 3} 다 같은 취급 - permutation을 쓰지 않고 재귀로 직접 구현방법 5개중에 3개를 뽑는 문제의 경우 { 1, 2, 3, 4, 5 } 가 있을 때, 3개 뽑기문제 { 1, 2, 3 }, { 1, 2, 4 }, { 1, 2, 5 },.....{ 3, 4, 5 } 이런식으로 진행 특징은? 시작점을 정한 이후에는 그 전의 요소를 고려하지 않는다. 즉) 이미 시작점이 1을 지나고 { 2, 3, 4 }, 이미 이런식으로 첫 번째 인덱스가 2가 되면 이 이후에 1은 절대로 뽑히지 않는다! { 1, 2, 3 } = { 2, 3, 1 } -> 이런식으로 이 둘은 같은 조합이고, { 2, 3, 1 }은 이미 시작점이 1일 때, { ..
-
[Linux] VMware에 리눅스(CentOS) 설치 - 1Programming/Linux 2020. 1. 8. 12:39
우리는 대부분 윈도우 환경에서 리눅스를 사용하기 위해 VMware라는 가상머신을 사용한다. VMware 가상머신에 CentOS 리눅스환경까지 설치를 한번 해보자! 링크 : https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/15_0|PLAYER-1502|product_downloads free my.vmware.com 나 같은 경우에는 윈도우를 사용하기 때문에 Windows용 으로 설치를 하겠다. Next 클릭! 체크박스 클릭 후 Next 클릭! 향상된 키보드 사용하고 싶으면 체크후 Next 클릭! VMware 시작할 때 마다 최신버전 확인하고 싶으면 첫번째 Check 박스 클릭! VMwa..
-
[Algorithm] C++ 특정 수 만들기(DFS)Programming/Algorithm 2020. 1. 7. 13:26
입력예제 1 4 12 2 4 6 8 출력예제 1 4 #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int a[11], n, m, cnt = 0; void DFS(int L, int val) { if (L == n + 1) { if (val == m) cnt++; } else { DFS(L + 1, val + a[L]); DFS(L + 1, val - a[L]); DFS(L + 1, val); } } int main() { int i; scanf("%d %d", &n, &m); for (i = 1; i
-
[Algorithm] C++ 합이 같은 부분집합(DFS)Programming/Algorithm 2020. 1. 6. 15:25
입력예제 1 6 1 3 5 6 7 10 출력예제 1 YES #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int n, a[11], total = 10; bool flag = false; void DFS(int L, int sum) { if (sum > (total / 2)) return; if (flag == true) return; if (L == n + 1) { if (sum == (total - sum)) { flag = true; } } else { DFS(L + 1, sum + a[L]); // 누적되는과정 DFS(L + 1, sum); // 사용하지 않을것이면 그냥 가는 것 } } int main(..