나무 숲
설치 https://www.python.org/ 이곳에서 다운로드 가능합니다 파이썬의 장점으로는 쉽고 간단한 문법으로 빠르게 배울 수 있으며, 마찬가지로 쉽고 빠르게 코딩할 수 있다는 점입니다 어디서 주워들은 말로는, 보안 쪽에서도 꽤나 사용된다고 하여 저도 가볍게 배워보려 합ㄴㅣ다 대표적으로 파이썬이 사용된 곳으로는 Youtube, Dropbox 등이 있습니다 사용 우선 아래 그림과 같이 파이썬IDLE를 실행시키면 이런 화면이 뜹니다 간단하게 파이썬 홈페이지에 나와있는 예제 몇 가지를 따라해보았습니다 (파이썬 홈페이지에 있는 것을 그대로 따라했는데 피보나치 함수가 계속 에러가 나서 아래에서는 제 임의로 고쳐보았습니다. 아래에 짝수 찾는 반복문은 잘 돌아가는군요) 반복문을 보니 범위range 2에서 10..
* 열혈강의 자료구조 책 + 인터넷 + a책이 정말 너무 잘 되어있지만 여기엔 간단하게 씀 + 내상각 추가 순차 리스트 (배열 기반) 순차적으로 접근할 수 있는, 구조체와 배열을 이용한 연결 리스트이다. 1. 배열 기반의 구조체 정의 typedef struct _ArrayList{ int arr[100]; int numOfData; //데이터의 개수 int curPosition; //배열의 인덱스 값 저장 } List; //구조체 이름을 List로 정의 2. 구조체 기반 함수 정의(기능 위주)void ListInit(List *list){ //리스트 초기화 list->numOfData = 0; //리스트에 저장된 내용이 없다 list->curPosition = -1; //아무것도 저장하지 않음을 의미 }..
조건 - 원반은 한 번에 하나만 옮길 수 있다 - 작은 원반 위에 큰 원반을 올릴 수 없다 패턴 분석 C를 3으로 옮기고자 할 때, A와 B를 2에 옮겨 놓으면 가능하다. -> B를 2로 옮기고자 할 때, A를 3에 옮겨 놓으면 가능하다. 이번엔 4개 (위에서부터 아래로 A,B,C,D) D를 3으로 옮기고자 할 때, A,B,C를 2로 옮겨 놓으면 가능하다. -> C를 2로 옮기고자 할 때, A,B를 3으로 옮겨 놓으면 가능하다. -> B를 3으로 옮기고자 할 때, A를 2로 옮겨 놓으면 가능하다. ... 같은 방식으로 몇 개의 원반이 있던 간에 어떠한 동일 패턴이 존재한다는 것을 알 수 있다. 이를 다시 일반적으로 표현해보면, n개의 원반이 있다고 할 때 (위에서부터 아래로 1,2...n번째) 1~(n-..
코로나 카테고리가 제가 처음으로 공부할 겸.. 해서 만든 곳이었다면 이곳은 저의 짧은 안드로이드 지식을 조금 다져볼까 하여 만든 곳입니다 (+자바력) 자급자족용 가계부/스케줄러 앱을 만드는 과정에서 나타나는 기능들이 주가 될 것 같습니다 (+자바공부) 우선 안드로이드 스튜디오는 가볍게 아래에서 다운받으시면 될 것 같아유 https://developer.android.com/studio/index.html 그 외에 제가 사용하고자 하는 것들입니다 https://bitnami.com/stack/wamp https://atom.io/ 설치 방법은 다른 블로그들에도 잘 정리되어 있기 때문에 따로 하지는 않았습니다..! (전 이미 설치되어 있어서 스샷 찍기도 힘들어서..) 짧은 지식으로 말씀드리자면, 비트나미 w..
유료였던 코로나SDK가 무료로 풀렸습니다! 현재 아래 사이트에서 다운로드가 가능하구요, 들어가면 스샷처럼 FREE라고 적힌 코로나sdk를 다운받을 수 있습니다 https://coronalabs.com/pricing/ 코로나 SDK는 Lua라는 스크립트 언어로 굉장히 쉽고 빠르게 모바일 애플리케이션을 만들 수 있는 프로그램입니다 대표적으로는 미국 14세 소년의 공을 굴리는 간단한 게임(버블볼)이 히트를 쳤다, 라는 기사가 옛날에 났었는데, 이 코로나 sdk로 만든 작품이라고 하네요 한 번의 코딩으로 간단히 빌드만 하면 안드로이드용/아이폰용을 따로 개발하지 않고도 다양한 디바이스 지원이 가능하다고 합니다 루아 언어란, 빠른 스크립트 언어이며 때문에 주로 게임에 사용됩니다저도 문법을 자세히는 모르지만 코로나를..
자료구조의 목적은 데이터를 효율적으로 저장하는 데 있다 이러한 자료구조를 기반으로 작성된 알고리즘은 메모리와 속도를 고려하게 되는데 우리가 더 관심있게 보는 것은 속도이다. 순차 탐색 알고리즘(배열의 첫 번째 원소부터 순서대로 탐색)보다 훨씬 좋은 성능을 보인다 단!!! 배열에 저장된 원소는 정렬되어 있어야 한다 방법 1 배열의 중앙(배열 길이가 n이라고 할 때, (처음0 + 끝n-1)/2)에 찾는 값이 저장되어 있는지 확인 2 만약 아닐 경우, 찾는 값과 배열의 값을 비교하여 찾고자 하는 값이 배열의 값보다 작으면, 배열의 값을 기준으로 오른쪽에 있는 원소들로 탐색 범위 제한 마찬가지로, 배열의 값보다 찾고자 하는 값이 크면, 배열 값 기준으로 왼쪽에 있는 원소들로 탐색 범위 제한 (오름차순 일 때!)..
Sequence Control (Flow Control)순서 Control 분류Sequence control : 수행 순서 제어Data control : 서브프로그램 사이의 데이터 흐름 제어 제어 대상(크기)에 따른 sequence control 분류expression, statement, subprogram 표현 여부에 따른 sequence control 분류Implicit : 기본적으로 정해져 있는 흐름 제어 (순차적으로 수행)Explicit : 기본 흐름을 변경하기 위한 제어 (goto문) Tree representation연산자를 서브트리의 루트에, 피연산자를 하위 노드에 나타냄 PostFixa + b : infix+ a b : prefix (함수같은 모습)a b +: postfix postfix..
Generic Type?타입을 인수로 받는 타입 (parameteric polymorphism)후자의 타입은 전자의 타입을 통해 생성된 타입 Instantiation of a Generic type : generic type에 타입 인수를 전달함으로써 새로운 타입을 만드는 것 구현 : 타입 인수는 컴파일 시간에 결정되므로 인수가 결정되면 일반 타입과 동일하게 구현 가능하다 Generic Modules : 타입을 인수로 받을 수 있는 프로그램 모듈Generic Packages in ada, Template class in C++ Inheritanceis -a일반적 관점한 프로그램 요소의 특징이 다른 프로그램 요소로 전달되는 것ADT 관점한 ADT를 보다 구체화하여 다른 ADT를 만드는 것. supercla..