Today's special moments become memories of tomorrow.

문자열 2

[문자열 탐색] KMP 알고리즘

어떤 문자열(T)에서 특정 문자열(P)를 찾을 때 사용하는 알고리즘 예를 들어, 문자열(T) : "CDABABKABADABABC" 문자열(P) : "ABABC" 문자열 T에서 문자열 P를 찾는 방법을 단순하게 완전탐색으로 구현해보면 이중 for문을 통해 다음과 같이 구현해 볼 수 있다. String T="CDABABKABADABABC" String P="ABABC" for(int i=0;i pattern과 pattern의 비교 text와 pattern을 비교한 것과 마찬가지로 pattern과 pattern의 비교도 비슷한 방식으로 이루어진다. 따라서 pattern과 pattern을 비교하는 알고리즘을 이해하고 나면, text와 pattern을 비교하는 알고리즘도 이해하기가 쉬울 것이다. 우선 건너뛰기 표..

[java] String, StringBuffer, StringBuilder

자바에서 문자열을 나타낼 때 String, StringBuffer, StringBuilder 3가지 클래스를 사용할 수 있다. 하지만 이 3가지는 약간의 차이가 존재한다. String 가장 기본적인 문자열 클래스이다. String str = "Hello"; 를 선언하면 str는 참조변수로써 "Hello"가 존재하는 주소를 가리킨다. String 클래스는 기본적으로 Immutable이다. Immutable 객체란, 변하지 않는 객체임을 의미한다. 예를 들어 String str = "Hello"; 라고 선언한 후, 기존의 "Hello" 문자열 뒤에 "World" 를 추가하고 싶은 경우, str = str + "World"; 을 실행하면 문자열 뒤에 "World"를 추가할 수 있게 된다. String str ..

JAVA 2021.04.02