Hyuk(199)
-
[React-Native] remove listener
보통 React-Native에서 listener를 등록할 때는 render함수가 끝난 시점인 componentDidMount함수에서 등록한다. 그리고 페이지를 벗어나게 될때 listener를 해제 시켜주지 않으면 중복된 listener를 등록할 수도 있기에 해제 시켜주는것이 좋다. 예시 1234567componentDidMount(){ this.orientationListener = Orientation.addListener(this._setOrientation);} componentWillUnmount() { this.orientationListener.remove();}Colored by Color Scriptercs
2017.05.25 -
[백준 2589번] 보물섬
풀이조건을 먼저 살펴보면 다음과 같다. 1. 보물은 육지에 있다. (L에 있다.)2. 이동할 때는 육지로만 갈 수 있다.3. 각 보물의 위치는 육지로 이동하였을 경우 가장 먼거리에 묻혀있다.4. 이동 경로를 카운트 할때는 중복된 지점을 가거나 돌아가는 경우를 제외한다. 조건에 맞춰서 이동하기위해 BFS를 통해 이동할때마다 카운트를 세주면 되는것을 알 수 있다.배열을 돌면서 육지일 경우 해당 지점에 1번 보물이 있다고 가정하고 해당 지점부터 BFS를 돌리면서 가장 멀리 있는 지점 (카운트 값이 가장 큰 지점)에 2번 보물이 있다고 가정한다. MAP을 모두 돌면서 Max 카운트를 비교해서 저장하면 풀 수 있다. 즉, 육지일 경우 카운트가 가장 큰 값을 Max의 경우와 계속 비교하면서 돌아다니면 된다. 소스 ..
2017.05.21 -
[오드로이드 XU] LCD사용시 해상도 수정
수정시 Read-Only file system 오류가 발생할 때 # mount -o rw,remount / 위 명령어를 써주면 수정가능 odroid 터치 스크린 사용시 화면 짤림 문제안드로이드 os의 경우 /sdcard/boot.ini 우분투 os의 경우 /boot/boot.ini vi편집기로 들어가서 수정! (수정시 권한을 주어야 수정 가능 --> su 명령어를 통해 권한 부여후 수정)수정 후 저장하고 나오기위해서 키보드 esc를 누른후 :wq! 명령어를 써주면 됨 (:w -> write의 줄임말, :q! --> quit의 줄임말) 12345678910111213141516171819202122ODROIDXU-UBOOT-CONFIG setenv fb_x_res "1280"setenv fb_y_res "..
2017.05.19 -
조합 알고리즘 (Combination Algorithm)
조합 정의 집합에서 일부 원소를 취해 부분집합을 만드는 방법을 말한다. 성질중복조합에서 다음이 성립한다.nCr = n-1Cr-1 + n-1Cr이성질을 이용하여 알고리즘을 구현할 수 있다. [출처 : wiki] 소스 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include #include using namespace std; time_t startTime = 0, endTime = 0; // 재귀는 메모이제이션 활용해야 빠름int memo[1001][1001]; int combi(int a, int b) { if (a == b || b==0) { return 1; } ..
2017.05.19 -
카운팅 정렬 (Counting Sort)
Counting Sort카운팅 정렬은 반복되는 숫자가 있으면서 숫자의 범위가 너무 크지않을 때 유용하다. 순서1. 숫자의 범위만큼 배열을 선언해주고 0으로 초기화한다.2. Data의 숫자를 하나씩 꺼내면서 카운트를 세준다.3. 처음에 선언한 배열에서 카운트가 0이 아닌 숫자들을 카운트 만큼 출력해주면 된다. 소스 코드123456789101112131415161718192021222324252627282930/* 카운팅 정렬 중복된 수를 정렬할때 유용 숫자의 범위가 한정적일때 유용 */ #include using namespace std; int main() { int n, num[10001]; // num안의 숫자는 최대 허용 숫자 범위 for (int i = 0; i cin 속도 극대화 cin >> n..
2017.05.19 -
병합 정렬 (Merge sort)
병합 정렬하나의 집합을 원소가 한개가 될때까지 쪼개고, 정렬하면서 병합하는 알고리즘 세가지 단계로 나뉜다.1. 분할2. 병합3. 정렬 시간 복잡도 O(N * logN)공간 복잡도 O(N) 소스 코드 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465#include using namespace std; int n;int space[1000001]; // 입력 받을 공간int space_copy[1000001]; // 병합과정에서 임시로 저장할 공간 void merge(int data[], int start, int mid, int end) {..
2017.05.19