본문 바로가기

전체 글

(145)
안드로이드 스튜디오 Lec5 리스트 뷰 꾸미기 (Custom ListView) 강의링크 : https://youtu.be/4E-WUdhJq3M 1.activity_main.xml 에 Container>listview를 추가하고 id를 설정한 후app/java/com.example~/MainActivity에 다음과 같이 코드 작성MainActivity package com.example.han.tutorial5; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListAdapter; imp..
안드로이드 스튜디오 Lec4 내비게이션 메뉴 바 만들기 (To Make Menu) 강의링크 : https://youtu.be/7L17qFN2I6k - 햄버거 버튼을 누르면 drawer 오픈- 리스트 클릭 시 해당 화면으로 전환 1.app/res/layout폴더에서 first_layout.xml생성 & 텍스트를 "첫 번째 화면"으로 변경 2.복사&붙여넣기로 같은 폴더에 second_layout.xml생성 & 텍스트를 "두 번째 화면"으로 변경 3. app/java/com.example~~ 폴더(MainActivity파일이 있는 폴더)에 FirstLayout java파일 생성* public class FirstLayout extends FragmentFirstLayout 클래스에 Fragment를 extends. FirstLayout package com.example.han.tutori..
안드로이드 스튜디오 Lec3 알림창을 이용한 종료 버튼 및 리스트 보기 강의링크 : https://youtu.be/ukIG6_Jebqo - 버튼 클릭 시 dialog를 생성.- 리스트를 포함한 dialog- yes/no 대답을 포함한 dialog- dialog의 리스트 각 아이템에 대한 이벤트 처리 MainActivity.java package com.example.han.tutorial3; import android.content.DialogInterface; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; imp..
ALGOSPOT 문제 풀이 기록 DINAMIC PROGRAMMING문제 날짜 난이도 비고 COINS 170825 중 알고리즘을 잘못 생각함. 다시 풀어볼 것 TILING2 170826 하 피보나치 수열을 행렬의 devide&conquer로 푸는 풀이로 다시 풀어볼 것 DIAMONDPATH 170827 하 stack overflow. 항상 max+1의 배열을 할당할 것 NUMB3RS 170828 중하 2차원 배열의 memset. 쓴것 갯수만 초기화 X. 할당한 갯수 전체를 초기화해야 함. + D&Q로 더 최적화 가능 PACKING MORSE ARCTIC 171022 다시풀어보기 KAROKU 다시풀어보기
algospot :: ARCTIC 남극기지 문제 : https://algospot.com/judge/problem/read/ARCTIC알고리즘 문제 해결 전략 p. 450 처음에 문제를 잘못 이해해서, 한 도시에서 다른 한 도시로만 전파를 전달 할 수 있다고 생각하고 풀었다... 그랬더니 시간초과가 나와서 알고리즘 문제해결 전략 책에서 decision부분만 참고해서 다시 풀었다. 맨날 vector만 쓰고 queue는 거의 처음 써본다. [최종코드]#include #include #include #include #include #include #include #define FOR(var, ed) for(int var = 0 ; var < ed; var++) using namespace std; int tc, n; vector locations; d..
algospot :: DARPA DARPA Grand Challenge 문제 : https://algospot.com/judge/problem/read/DARPA알고리즘 문제 해결 전략 p. 449 (동적 계획법으로도 풀 수 있다고 나와 있지만) 최적화문제를 결정문제(yes/no 로 답이 나오는 문제)로 바꿔서 푸는 유형의 문제이다. [최적화 문제를 결정문제로 바꾸는 방법]1. "가장 좋은 답이 무엇인가?" -> "x 또는 그보다 좋은 값이 있는가?"라는 결정문제 형태로 바꿈.2. 결정 문제를 쉽게 풀 수 있는 방법이 있는지 찾아봄.3. 결정문제를 내부적으로 이용하는 이분법 알고리즘을 작성. [이분법의 함정]어떤 문제의 정답이 4.2라고 가정하자. 그런데 연산 중 수치적 오차가 생겨서 4.2에 대해 참 또는 거짓을 반환했다고 하자. 그러면 optimize()는 4.2를 상한..
algospot :: ALLERGY 알러지가 심한 친구들 문제 : https://algospot.com/judge/problem/read/ALLERGY알고리즘 문제 해결 전략 p.429책을 참고하지 않고 코드를 작성함 [알고스팟 STEP.1]비트마스크를 이용해서 지금까지 음식을 먹을 수 있는 사람들을 저장하고, 모든 사람들이 음식을 먹을 수 있을 때에 음식의 수의 최소값을 출력했다. *void getInput() 입력을 받는 함수이다. 이름은 names벡터에 따로 저장해두고FOR(i, n){ cin >> names[i]; }food번째 음식에 대해 음식을 먹을 수 있는 이름들이 나오면, 그 이름을 갖고 있는 인덱스를 names에서 찾아서 그 값을 비트마스크로 환산하여 allergic[food]에 더했다. 이렇게 하면 food번째 (음식을 먹을 수 있는 사람)번..
algospot :: BOARDCOVER2 게임판 덮기 2 문제 : https://algospot.com/judge/problem/read/BOARDCOVER2 알고리즘 문제 해결 전략 p.423 [알고리즘 STEP. 1] 일단, 입력받은 블록을 4방향으로 돌려서(0도, 90도, 180도, 270도) 미리 저장해 둔다. 저장 할 때는 왼쪽 가장 위의 인덱스를 0,0으로 두고 나머지를 상대 위치로 변환해서 pair 형태로 저장한다.(void generateRotations(vector block)) vector rotations; //roatations : block을 회전시켜 만든 4가지 블록을 pair의 벡터로 저장 void generateRotations(vector block){ //vector&block 아니고 그냥 복사 rotations.clear();..