분류 전체보기(472)
-
에스토라네스의 체(소수 쉽게 구하기)
에스토라네스의 체 에스토라네스의 체는 소수의 배수들을 모두 지움으로써 소수를 구할 수 있는 알고리즘이다. 그렇게 어렵지 않으니 코드로 설명하겠습니다. 백준 1929번을 통해 코드를 만들어 보겠다. 코드를 보면 2부터 입력값의 제곱근 까지 나누어서 나머지가 0이되면 소수가 아니게 된다. 만약에 2를 넣었는데 2의 제곱근은 1.414정도 임으로 반복문이 돌지 않고 소수로 판단하여 출력하게 됩니다. 그리고 만약에 9가 들어가게 된다면 9의 제곱근은 3이기 때문에 3으로 나누어져 나머지가 0임으로 결국 소수가 아니라고 판단하게 됩니다.
2019.01.05 -
[디자인 패턴] template Pattern(템플릿 패턴) by python, java
template Pattern 추상 클래스가 있고 이를 상속하여 구체적으로 구현하는 하위클래스가 있습니다. 하위클래스 들이 어떻게 구현되는지에 따라 프로그램이 다르게 실행 될 것입니다. 하지만 템플릿 패턴은 상위 클래스에서 큰 흐름을 제공해주고 하위 클래스에 구체적인 내용을 결정하는 디자인 패턴을 템플릿 패턴이라고 합니다. 요약 추상클래스를 통해 프로그램 큰 흐름을 제공해주고 이를 상속하는 클래스들이 구체적으로 구현하는 패턴입니다. //추상 클래스public abstract class AbstractPrint { public abstract void open(); public abstract void print(); public abstract void close(); public void write()..
2019.01.04 -
[디자인 패턴] Adapter Pattern
Adapter Pattern Adapter Pattern은 기존에 존재하는 클래스를 자기의 입맛에 맞게 특정한 클래스, 인터페이스를 통해서 바꾸어 줄 수 있는 패턴이다. 쉽게 예를 들면 노트북을 충전하려면 직류 12V가 필요한데 공급되는 건 교류 100V이다. 교류 100V를 AC 어댑터를 통해서 직류로 바꾸듯이 기존에 있는 것(교류 100V)을 특정한 클래스, 인터페이스(AC어댑터)를 통해서 12V로 바꾸어주는 것이 Adapter 패턴이다. 언제 사용하면 좋을까? 기존의 클래스를 건드리지 않고 다른 상황에 맞게 개조를 하여 사용해야할때 유용합니다. 기존의 코드들은 오류가 없다는 증거가 있기때문에 오류가 발생하면 어댑터에 잘못이 있음으로 기존의 코드는 보지 않아도 됩니다. 또는 기존의 클래스 없이 외부 ..
2019.01.02 -
[designPatten] Iterator(이터레이터) by java, python, javascript
Iterator 각언어별로 편하게 사용할 수 있게 기본기능을 제공해주지만 직접 구현하는 것 만큼 좋은 공부가 없다고 생각하여 직접 구현한 것도 있고 파이썬의 경우에는 가볍게 제공하는 기능이 있어서 이를 사용하였다. 그럼 설명을 시작하겠다. 그리고 Iterator에서 조금 더 진화한 Generator라는 기능도 있는데 이는 다음글에서 적어보겠다. 일반적으로 배열을 위해서 반복문을 사용하며 for(int i = 0; i < arr.length; i++){arr[i];} 위와 같은 형태나 while 등을 사용합니다. i는 1씩 증가하면서 조건에 맞추어 반복 하는 것이 일반적인 반복문의 기능입니다. 반복문에 사용하고 있는 i나 조건들을 사용하는 기능을 추상화해서 일반화한 것이 바로 Iterator입니다. 그럼 ..
2018.12.30 -
react-native 내부 파일에 접근하고 시뮬레이터에 파일 넣기
스마트폰 내부 파일에 접근하기 스마트폰 내부 mp3파일에 접근해야할 일이 있었는데 어떻게 하는지 찾아봐도 방법이 나오지 않았다. 그래도 계속 검색 중 expo에서 제공해주는 기능이 있다는 것을 발견 이것의 사용법을 정리하려고 한다. 호출 import {DocumentPicker} from "expo"; 사용하기 DocumentPicker.getDocumentAsync({ type: "audio/*", copyToCacheDirectory: false }); type이사이트에서 보이는 것으로 설정할 수 있다. https://en.wikipedia.org/wiki/Media_type copyToCacheDirectory (boolean) 만약 true라면 Expo.FileSystem.CacheDirector..
2018.12.23 -
react-native AsyncStorage 사용하기
AsyncStorage 사용하기 react-native내부에서 사용할 데이터베이스를 고민하다가 리액트 네이티브에서 제공해주는 간단한 AsyncStorage는 앱 전체적으로 사용할 수 있으며 비동기적이고 지속성있고 암호화 되어 있지 않는 모듈입니다. ios에서는 네이티브 코드 뒤에서 위치하며 작은 크기는 연속적으로 저장하며 큰 데이터는 분산하여 저장합니다. 안드로이드에서는 락스디비 혹은 sqllite를 기반으로 하여 사용할 수 있습니다. error가 있으면 error를 반환하고 또는 Promise를 반환하기도 합니다. 호출하기 import { AsyncStorage } from "react-native" 저장되어 있는 데이터의 키값 가져오기 AsyncStorage.getAllKeys(); array형태로 ..
2018.12.22