본문 바로가기

전체 글

(127)
apache api 사용(kotlin) 영어 단어를 읽어올 파일로써 처음에는 csv파일을 사용하고자 하였다. 하지만 csv파일은 일반적인 사람들은 잘 들어보지 못한 파일 확장자이기에 범용성이 너무 떨어진다고 생각이 들어서 조금 더 대중적인 파일을 사용하는 앱을 개발하고자 마음을 먹었다. 따라서 엑셀파일을 사용하기로 했다. 액셀 파일을 사용하기 위해서는 apache api를 사용해야한다. 엑샐 파일의 확장자가 xls이지만 xlsx를 비롯하여 여러가지 다양한 확장자가 존재하였다. 엑셀의 버전에 따라 지원하는 클래스의 명이 다르기 때문에 해당 사이트에서 사용법을 참고해야했다. https://poi.apache.org/ Apache POI - the Java API for Microsoft Documents Apache POI - the Java A..
LIS 최장 증가 수열 입력한 수열에서 순차적으로 증가하는 수열을 추출하여 그 수열의 길이를 출력하는 알고리즘 문제이다. 1. 단순한 방법 해당 문제에서 단순한 방법은 모든 경우의 수열을 도출하여 그 수열의 길이를 비교하여 최대 길이의 수열을 알아내는 것이다. 이 방법은 입력하는 수열의 길이에 따라서 부분 수열이 기하급수적으로 증가하기 때문에 해당 문제에서 통과하기 어려운 방법이다. 2. DP를 활용한 방법 n번째 수열의 숫자가 n+1번째 수열의 숫자보다 크다면 n+1번째까지의 수열에서의 최장 증가 수열은 n번째 수열의 최장 증가 수열에서 1을 더한 값을 길이로 가진다. n번째 수열의 숫자가 n+1번째 수열의 숫자보다 작다면 n+1번째까지의 수열에서의 최장 증가 수열은 n-1에서 1위치의 숫자가 마지막인 수열이고 n번째 수를 ..
소수 만들기 #include #include #include using namespace std; bool isPrior(int num){ if(num == 1) return false; for(int i = 2; i
HashTable HashTable 사용법 1. Hashtable 생성 Hashtable ht = new Hashtable() Hashtable ht = new Hashtable(int capacity); Hashtable ht = new Hashtable(int capacity, float loadFactor); Hashtable ht = new Hashtable(map t); 2. 값 추가 ht.put(0, "test0"); ht.put(1, "test1"); 3. 값 삭제 ht.remove(2);//2번 키를 가지는 데이터 삭제 4. 값 변경 ht.replace(0, "test00"); 5. 값 가져오기 ht.get(key); 6. 크기 구하기 ht.size(); 7. 검색 ht.containsKey(key); ht..
해쉬-완주하지 못한 선수 @ 실패한 코드 다음의 코드는 실패한 경우이다. 동명이인의 경우에는 해쉬에 저장하면 hashset의 특성상 중복을 저장하지 않기 때문에 동명이인이 후보자와 완주자에 동일하게 있음에도 완주자로 확인을 하지 못한다. 실패 테스트 케이스 participant ["mislav", "stanko", "mislav", "ana", "ana"] completion ["stanko", "ana", "mislav", "mislav"] answer "ana" import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { HashSet hash = new HashSet(); if(participant..
HashSet HashSet - Set 인터페이스의 구현 클래스 - 객체를 중복해서 저장할 수 없음 - 저장 순서가 불규칙 1. 선언 HashSet set1 = new HashSet(); HashSet set2 = new HashSet(); HashSet set3 = new HashSet(set1);//set1을 복사 HashSet set4 = new HashSet(int capacity); HashSet set5 = new HashSet(int capacity, float load factor); HashSet set6 = new HashSet(Arrays.asList(1,2,3));//초기값 지정 +적재율(load factor)이란 해시 테이블의 크기 대비, 키의 개수를 말한다. 즉, 키의 개수를 K, 해시 테이블..
기능 문서 기능 1 : 지정한 범위에서 영어 단어를 랜덤하게 보여준다. 기능 2 : 보여주는 영어 단어의 뜻을 알 수 있는 버튼을 제공한다. 기능 3 : 테스트 시에 틀린 횟수를 자동으로 저장한다. 기능 4 : 자주 틀린 단어를 테스트 할 수 있다. 기능 5 : 테스트 채점은 자동으로 진행하지만 시험 결과를 수동으로 변경할 수 있다. 기능 6 : 단어 추가는 txt 파일을 통해서 추가 가능하다. 기능 7 : 어플에서 단어추가 기능을 제공한다.(추가기능) 기능 8 : 데이터는 데이터 배이스에 저장된다.