분류 전체보기(18)
-
앱 개발을 해보자 - ③ 버튼을 만들어보자
버튼을 만들어보자 시작하기 전에 우리는 다음과 같은 화면을 만들것입니다. 전체 코드는 다음과 같습니다 activity_main.xml res/values/strings.xml MySampleApp Roll 자, 그럼 위의 코드를 자세히 살펴볼까요? layout 작성 Linear Layout이라는 뷰 그룹이 있습니다. Linear Layout은 순차적으로 아래와같이 세로 또는 가로의 단일방향으로 하위요소들을 정렬합니다. // MainActivity 에 해당 레이아웃을 표시합니다. 텍스트와 버튼 생성 자, 이제 레이아웃을 생성했으니 텍스트와 버튼을 생성합시다. // 텍스트의 사이즈 // 버튼의 위치를 중앙으로 이렇게 레이아웃에 버튼을 생성해보았습니다.
2019.09.24 -
앱 개발을 해보자 - ② 가상머신(AVD)을 이용한 실행을 해보자
가상머신(AVD)을 이용한 앱 실행 AVD(Virtual Device 생성) Tools > AVD Manager 클릭 한 후 원하는 기종을 골라줍니다. Size, Resolution, Density 을 고려하여 만들어줍시다. 앱 실행 Run -> Run 을 클릭하시거나 툴바의 아래 아이콘을 클릭하시면 앱이 실행됩니다. 실행이 완료되면 아래와 같이 핸드폰모양의 그림이 나오는군요! 앱에 나오는 문구를 바꿔보자! res->layout->activity_main.xml 의 android.text 를 자신이 원하는 문구로 바꿔보자 ! Layout은 앱이 어떻게 생겼는지, Activity는 앱이 무엇을 하는지를 작성해준다고 보면 된다. 바꿔준 텍스트는 아래 R.layout.activity_main 에서 설정되는 s..
2019.09.24 -
앱 개발을 해보자 - ① 개발환경 셋팅 (android studio 설치)
안드로이드 앱개발 개발환경 셋팅! 1. Android Studio 설치 https://developer.android.com/studio 접속
2019.09.22 -
삼성 소프트웨어 (SW) 역량테스트 B형 준비! ② (Trie)
문제 https://www.acmicpc.net/problem/5052 풀이 N = 10^5 이기 때문에, O(NlogN) 이하의 알고리즘이 필요합니다. Trie 라는 자료구조는 문자열의 검색 및 업데이트에 최적화 되어있습니다. Trie란? 문자열의 Search Tree 입니다. 위 그림처럼, 단어들의 첫 글자부터 하나씩 depth가 깊어지며 node를 만들기 시작합니다. Trie의 Update 및 Search 등은 Trie의 트리의 높이만큼의 시간뿐이 걸리지 않습니다. (매우빠름) 위 문제에서는, 각 번호들로 Trie 를 만들면서 단어가 끝나는 지점에 표시를 해줍니다. void Node::insert(char* word) { if(word[0] == '\0') { this->isLast = true; ..
2019.09.17 -
삼성 소프트웨어 (SW) 역량테스트 B형 준비! ① (BST)
문제 https://www.acmicpc.net/problem/2042 풀이 N => 수의 개수, 10^6 M => 업데이트 횟수, 10^4 K => 구간합을 구하는 횟수, 10^4 일반적인 방법으로, 구간합을 구할 떄 마다 배열의 합을 계산할 경우, 한번의 구간합마다 O(N) 이 걸리게 될 것입니다. 이 경우, 최대 K*N = 10^10 이 걸리게 되므로, 문제를 제한시간 내에 풀 수 없습니다. 따라서, 구간합을 구할 때 O(logN) 이하의 알고리즘이 필요합니다. 이를 구현하기 위하여 Segment tree를 아래와 같이 구현합니다. 트리의 Node가 begin~end 까지의 구간합을 갖고 있다고 가정할 때, 왼쪽 Subtree는 begin~1/2*end 오른쪽 Subtree는 1/2*end+1 ~ ..
2019.09.14 -
Linked list (링크드 리스트, 연결리스트)
1. Linked list 란 ? - 선형 데이터 구조로, 각 원소들은 연속적인 메모리에 존재하지 않으며 ( 즉, linked list의 원소들은 각각 떨어진 메모리 공간에 존재합니다 ), 각 원소들은 pointer를 통해 연결되어있습니다. 2. Linked List의 구현 실제 데이터를 담고있는 Node 와, Node들의 연결체인 Linked List의 구현으로 나뉩니다. 각각의 Node는 이전Node인 prev, 다음 Node인 next 라는 포인터변수를 가지고 있습니다. Linked List는 가장 앞 Node인 head와 가장 뒷 Node인 tail를 가지고 있습니다. 또한, Linked list에 node를 삽입해주는 함수인 add 와, 특정 Node를 지워주는 함수인 remove 함수를 갖고 ..
2019.09.07