일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 한글 깨짐
- 앱 이름 변경
- 앱
- 알고리즘
- 계산기
- 이분 탐색
- 안드로이드
- KMP
- upper_bound
- 어플
- BFS
- Kosaraju's algorithm
- Parametric Search
- c언어
- 안드로이드 스튜디오
- scc
- C++
- lower_bound
- AlertDialog
- 최단경로
- Today
- Total
목록분류 전체보기 (10)
소시지
다음 사진과 같이 리스트를 만들어 화면에 띄우는 것을 AlertDialog라고 합니다. XML파일은 버튼만 만들면 되기 때문에 간단합니다. 123456789101112131415161718192021 Colored by Color Scriptercs 이제 Button의 OnClickListemer을 만듭니다.OnClickListener안에는 다음과 같은 내용을 넣습니다.12345678910111213141516171819202122232425262728293031323334353637package com.example.geon6.a170122_alertdialog; import android.content.DialogInterface;import android.support.v7.app.AlertDial..
SCC(Strongly Connected Component)란? 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include #include #include #include #include using namespace std;int n, out_len;bool check[10001], check2[10001];vector r[10001], r2[10001];stack S, S2;set out[10001]; void dfs(int x) { check[x] = true; for (auto it = r[x].begin(); it != r[x].end(); it++) if (che..
안드로이드 스튜디오에서 앱을 제작하면 앱의 이름이 프로젝트의 이름과 동일할겁니다.앱의 이름과 프로잭트의 이름을 다르게 하고 싶으신다면 다음 과정을 통해 앱의 이름을 바꿀 수 있습니다. 화면의 왼쪽에 보면 app > res > values > strings.xml 파일이 있습니다. strings.xml 파일을 엽니다. 그럼 다음 사진과 같은 코드가 있을겁니다. ~~app_name"> 과 사이에 자신이 원하는 앱이름을 넣으면 앱이름이 바뀝니다.
일단 매인엑티비티의 xml파일을 이런 식으로 만들어 봅시다. 입력1이나 입력2는 만들 필요없고, EditText 2개, 버튼 4개(더하기, 빼기, 곱하기, 나누기), TextView 한 개만 있으면 됩니다. 필요하시다면 저의 xml 소스를 참조하세요. (아래의 문장을 클릭하면 보입니다)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 Colored by Color Scriptercs 저는 EditText 2개의 id를 ..
안드로이드 스튜디오를 처음 시작하면 작업 중 한글이 깨져서 출력되는 것을 확인하실 수 있으실 것입니다.이는 안드로이드 스튜디오의 fonts.xml 파일을 수정하여 고칠 수 있습니다. 일단 안드로이드 스튜디오를 설치한 위치에서Android Studio > plugins > android > lib > layoutlib > data > fonts순으로 폴더를 들어가면 fonts.xml이라는 파일이 있을 것입니다. 대부분 C:\Program Files\Android\Android Studio\plugins\android\lib\layoutlib\data\fonts로 들어가면 있으실 것입니다. fonts.xml 파일을 열어 NotoSansCJK-Regular.ttc을 찾아 NanumGothic.ttf로 모두 바..
KMP란?문자열 a와 문자열 b가 있을 때 문자열 a에 문자열 b가 속해있는지 확인할 수 있고, 몇 개 있는지 확인하도록 도와주는 알고리즘입니다.MS의 워드나 브라우져의 찾기 기능을 생각하시면 되겠습니다. 문자열 a에 문자열 b가 속해있는지 알고싶은지 확인하는 간단한 방법은 a의 배열 첫 번째부터 b의 문자열의 길이만큼 일치하나 확인하는 것일 겁니다. 이 경우, 최악의 경우 시간 복잡도는 O(nm)일 것입니다. 그러나, kmp를 사용하면 시간 복잡도를 O(n+m)으로 줄일 수 있습니다. 문자열 a를 "12341234.....", 문자열 b를 "12341235"라 가정해 봅시다.일단 아까 말했던 간단한 방법대로 하면문자열 a의 "1234123"와 문자열 "1234123"이 같은 것을 확인할 수 있을 것입니..
이분 탐색을 간단히 배열에서 숫자를 찾는 정도로만 알고있는 사람들이 많을 것입니다.그러나 이분 탐색을 응용하면 최댓값을 구하는 문제나 최솟값을 구하는 문제를 거의다 풀 수 있습니다. 다음 소스와 문제를 보면서 이해하기를 바랍니다. 123456789101112131415161718192021bool Can(long long x, long long num) { if (x >= M) return false; return (1 + x)*x / 2
upper_bound와 lower_bound함수는 이진 탐색을 하는 함수입니다.자세히 말하면, upper_bound와 lower_bound는 만약 어떤 숫자가 정렬되어 있는 배열에 들어갈 때 그 숫자를 넣어도 정렬이 되어있는 상태가 되도록 하는 위치를 알려주는 함수이죠. 다음과 같은 정렬되어 있는 배열이 있다고 생각해보세요.이 배열에 숫자 7을 넣는데 넣어도 정렬이 되고 싶다면 어디에 넣어야 할까요? 6의 다음에 오도록 하여야 하므로 이전에 9가 있던 위치를 가르킬 것입니다. 이런 상황에서는 upper_bound(), lower_bound() 모두 9가 있는 자리의 포인터를 가르킵니다. 그러면, upper_bound()와 lower_bound()의 차이점은 무엇일까요?이 둘은 배열에 같은 숫자가 여럿일 ..
BFS는 너비우선탐색을 말합니다.이와 반대되는 개념으로는 DFS, 깊이우선탐색이 있습니다. BFS는 위의 그림과 같은 그래프가 있고, 시작 정점이 1번 정점이면1->2->3->4->5->6->7 순서대로 방문합니다. 이를 구현하기위해 자료구조인 Queue를 많이 사용합니다.또한 위의 그림과 달리 그래프나 트리구조가 아니고 2차원 배열에서 BFS를 사용할 경우방향데이터(dy[4]={0,0,1,-1}, dx[4]={1,-1,0,0}) 를 만들어 탐색할 수 있습니다. 다음 소스는 BFS의 소스입니다. 12345678910111213141516int bfs() { int d[101][101], dy[4] = { 0,0,1,-1 }, dx[4] = { 1,-1,0,0 }, yy, xx, ty, tx; bool c..