구현할 기능: 필기체를 인식하여 찾아낸 후보 글자들을 입력받아서, 다음에 올 확률이 높은 글자들을 반환해주는 클래스를 작성한다. 기존 단어들을 검색에 특화된 자료구조로 저장한다.
중점을 둘 부분: 실시간으로 단어검색을 해야하므로 빠른 연산속도가 필요하다. 단어들이 앱에 저장되어야 하므로 메모리를 절약해야 한다.
사전지식:
1. TRIE 자료구조
2. JAVA 특징
-컬렉션 함수
-문자열 객체
-접근제어자
-직렬화
3. JSON 파일형식
진행과정:
1. 자료구조 선정
-바이그램/트라이 비교
-개발 목적 간단히 정의
2.선정된 자료구조 학습
-블로그,위키백과,서울대 발표자료,서강대 논문
3.핵심코드 구현 및 정확성 확인
-백준 문제 풀기
4.요구사항 정리 및 설계
-입출력 포맷, 필요 함수, 기타 조건 정리
-시간복잡도, 공간복잡도
5.코딩 및 필요지식 학습
-Java 컬렉션 API 학습
-String, Stringbuilder 학습
-접근제어자 학습
-Serialize 학습
-추후 재설계하기 좋은지 확인
6.문제 발견 및 해결책 반영
-자료구조 변경(Map,음소별)
-데이터 삽입 및 오류 수정
7. 사용자화
-확률 적용
-사용방법 두 가지로 늘림
8.데이터 수집 및 테스트
-필요 데이터 파일 모으기
-데이터 전처리
-실행 및 결과확인
9.문서화 및 유지보수
-코드 정리, 주석 추가
-과정 정리 및 블로그 포스팅, 구조 시각화
'Project' 카테고리의 다른 글
[툰츄] (0) | 2019.11.06 |
---|---|
[부귀영화-영화 추천 서비스] (0) | 2019.10.25 |
[WaterMelon-음원 사이트] (0) | 2019.10.25 |
[Hearable App-청각장애인용 스마트 앱] (3) | 2019.10.25 |
[MARK- 길건너기 2D 게임] (0) | 2019.10.25 |