전체 글목록496 KMP : 문자열 검색 알고리즘 http://bowbowbow.tistory.com/6 문자열 검색이 뭐지? 워드프로세서를 사용할 때 찾기 기능을 사용한적 있을 겁니다. 브라우저에서도 Ctrl+F 단축키를 눌러 검색할 수 있습니다. 아래 이미지는 브라우저에서 "테이프"를 검색했을 때 결과를 캡쳐한 것입니다. 본문에서 89개의 "테이프"를 찾았다고 순식간에 알려주네요. 이렇게 텍스트내(본문)에서 특정 문자열, 패턴("테이프")를 찾는 것을 문자열 검색이라고 부릅니다.이 문자열 검색은 어떤 방식으로 구현되는걸까요? 가장 단순한 문자열 검색 먼저 가장 단순한 방법의 문자열 검색을 생각해봅시다.텍스트 "ABCABABCDE"에서 패턴 "ABC"가 어디서 등장하는지 찾아봅시다. 패턴 "ABC"를 한자리씩 옮기면서 같은지 비교합니다. 같아? AB .. 알고리즘 2016. 12. 7. Counting Sort : 계수 정렬 http://bowbowbow.tistory.com/8 Counting SortCounting Sort소개정렬 과정애니메이션 예시구현정리끝소개Counting Sort는 정렬 알고리즘으로 의 시간복잡도를 갖습니다. 반면 일반적 상황에서 가장 빠른 정렬 알고리즘인 Quick Sort의 시간복잡도 입니다.Counting Sort는 어떻게 이렇게 빠를까요? 그럼 왜 대부분의 정렬이 필요한 상황에서 더 빠른 Counting Sort를 안 쓰고 Quick Sort를 쓸까요?Counting Sort가 어떻게 작동하는지 이해하고 나면 위 의문에 대한 답을 스스로 할 수 있을 겁니다!정렬 과정다음과 같은 수열 A를 정렬 해야하는 상황을 생각해봅시다.위 수열을 정렬하면 아래와 같은 수열 B를 얻습니다.Counting So.. 알고리즘 2016. 12. 7. 기본 정렬 알고리즘 ( 선택, 삽입, 버블, 머지, 퀵 소트) http://hsp1116.tistory.com/33 알고리즘 2016. 12. 7. <기초!> 자바 기초. next(), nextLine() 차이점. http://jicjjang.github.io/java/java-foundation1/ 카테고리 없음 2016. 11. 29. Scanner와 BufferedReader의 차이 http://blog.naver.com/PostView.nhn?blogId=crazydeicide&logNo=130115264169 흠...전에 포스팅 했던 것도 있고, 기왕 포스팅 한것 조금 더 자세히 써보자라는 의미에서의 포스팅 Scanner와 BufferedReader의 차이는 일단Java 예전 버전에선 BufferedReader를 사용하다가새로 나온것인 Scanner라는 점. 당연히 예전 코드에서는 BufferedReader가 주로 사용되었지만,요즘은 Scanner가 사용된다는 사실. 두번째론 자료를 입력받는 방식에서 차이가 있다는 점.Scanner는 뒤에 메소드를 어떤 점을 사용하느냐에 따라,(일단 BufferedReader reader = new BufferedReader(new InputSt.. 언어/JAVA 2016. 11. 29. System.in.read() 표준입출력, http://androiddeveloper.tistory.com/57 http://commin.tistory.com/41 http://blog.naver.com/PostView.nhn?blogId=crazydeicide&logNo=130115264169 언어/JAVA 2016. 11. 25. [JAVA] 정규표현식, Matcher 메서드 사용방법과 그룹 개념이해 Matcher 클래스 메서드들 find() : 패턴이 일치하는 경우 true를 반환하고, 그 위치로 이동(여러개가 매칭되는 경우 반복 실행가능) find(int start) : start위치 이후부터 매칭검색을 수행 start() : 매칭되는 문자열 시작위치 반환 start(int group) : 지정된 그룹이 매칭되는 시작위치 반환 end() : 매칭되는 문자열 끝 다음 문자위치 반환 end(int group) : 지정되 그룹이 매칭되는 끝 다음 문자위치 반환 group() : 매칭된 부분을 반환 group(int group) : 매칭된 부분중 group번 그룹핑 매칭부분 반환 groupCount() : 패턴내 그룹핑한(괄호지정) 전체 갯수 반환 matches() : 패턴이 전체 문자열과 일치할 경우 .. 언어/JAVA 2016. 11. 25. [jQuery] input radio 버튼 컨트롤 하기 1. checked 된 radio 값 : $('input:radio[name="radio_name"]:checked').val();2. 특정 radio 버튼 checked : $('input:radio[name="radio_name"]:input[value="Y"]').attr("checked", true);- checked 해제는 false를 넣으면된다 * value 자리에 원하는 값을 세팅하면 radio_name 으로 된 버튼중에서 해당 값과 매칭되는 것을 찾아 checked 처리를 해준다 3. checked 된 radio 갯수 : $("input:radio[name=radio_name]:checked").length* jQuery 에서 radio 버튼의 존재여부 확인, 존재하는 것중에서 checke.. Web/Javascript_Jquery 2016. 11. 25. [Java] 문자열 나누기(분리하기) - StringTokenizer, split http://fruitdev.tistory.com/55 다음과 같은 특정 규칙으로 정의된 문자열이 있다고 가정하자. "홍길동,28,남자,서울 강남구" 해당 문자열을 구분자로 구분하여 나누는 방법으로는 몇가지가 있는데 오늘은 StringTokenizer 와 split을 이용해 보겠다 StringTokenizer는 특정 구분자를 기준으로 token 단위로 끊어서 읽을수 있게 해준다. split의 경우 구분자를 기준으로 문자열을 분리하여 배열로 리턴한다. ?12345678910111213141516171819202122232425262728293031323334353637383940import java.util.StringTokenizer; public class StringTokenTest { public .. 언어/JAVA 2016. 11. 24. 모르겠음..[JAVA_알고리즘] 비트마스크를 이용한 에라토스테네스의 체 구현 [JAVA_알고리즘] 비트마스크를 이용한 에라토스테네스의 체 구현[JAVA_알고리즘] 비트마스크를 이용한 에라토스테네스의 체 구현 에라토스테네스의 체 란 위 그림과 같이 자연수 n이하의 소수를 구하는 알고리즘 으로써, 소수가 아닌 수의 배수를 전부 지워나가는 방법이다. 자세히 설명해 보자면 1) 2는 소수이므로 2의 배수를 전부 지운다. 2) 다음으로 3또한 소수이므로 3의 배수를 전부 지운다. 3) 4는 이미 1번에 의해 지워졌으므로 5로 넘어간다. 4) 5는 남아있으므로 소수가 아니다. 그러므로 5의 배수를 지운다. 5) 이런방법으로 n이하의 자연수 중에 남아있는 수를 탐색한 다음에 그 수의 배수를 전부 지운다. 굉장히 쉬운 원리이고 굉장히 빠르게 동작하지만, n이 커지면 커질수록 메모리 사용량의 문.. 알고리즘 2016. 11. 21. [JAVA] (조금 더 정확한)실행시간 확인, 측정하기(timer) http://blog.opid.kr/334 실행환경 Notebook SAMSUNG NT550p5c-s61r CPU Intel Core i5-3210M 2.50GHz Memory 8 GB OS Window 7 ultimate 64bit Java 1.7.0_51 Android SDK : 4.4.2 (KitKat) / 테스트기기 : Galaxy S3 4.3 (Jelly Bean) WebServer Apache Tomcat 7.0 코드 실행시간 확인하기조금 더 정확한 측정 방법?123456789101112131415161718192021222324252627282930313233343536373839public class TimerTest { public static void main(String[] args).. 언어/JAVA 2016. 11. 18. jQuery로 이벤트 발생시키기, 이벤트 트리거 .jQuery로 간단하게 이벤트를 발생시킬 수 있다. fireEvent와 마찬가지로 사용자의 행동 없이 javascript로 이벤트를 제어하는 코드이다.다음 코드가 사용되는 가장 간단한 예로, jQuery 코드중 .val() 메서드를 통한 객체의 값 할당에서는 change 이벤트가 발생하지 않는다. 그에따라서, 다음 코드로 강제적으로 이벤트를 발생시켜주어야 change이벤트가 작동하는걸 확인할 수 있다. jQuery 이벤트 발생기JavaScript12var e = jQuery.Event("change");jQuery("input.myName").trigger(e); http://www.codekin.com/?p=1263 Web/Javascript_Jquery 2016. 11. 17. 이전 1 ··· 29 30 31 32 33 34 35 ··· 42 다음