2023-02-16 1. 문제설명 일반적으로 투 포인터 알고리즘은 1차원 수열에서 목표값을 찾을 때 사용한다. 대표적인 예로 구현을 해보자. 아래의 백준문제를 참고해서 구현했다. https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 구현은 아래와 같이 구현했다. 매 분기마다 총합을 비교하며 총합이 타깃보다 클 경우 현재 시작포인터의 배열값을 차감하고 시작포인터를 증가시키고 총합이 타깃보다 작거나 같을 경우 마..
2023-02-08 1. 방법 방법은 간단하다. soap:Envelope 형태를 가지는 String 객체를 바이트로 변경 > inputStream 담고 이후 MessageFactory를 통해 SOAPMessage를 만들면 된다. import javax.xml.soap.MessageFactory; import javax.xml.soap.SOAPMessage; import java.io.ByteArrayInputStream; import java.io.InputStream; @Test public void requst_responseTest() throws Exception { String requestResponse = "" + " " + ... ... ... " " + ""; InputStream is ..
2023-02-04 1. 방법 Arrays.sort 내부 메소드 compare를 확용하면, 숫자형 문자열 배열을 앞자리 기준으로 정렬할 수 있다. import java.util.Arrays; import java.util.Comparator; public class Test_01 { @Test public void test(){ String[] arr = {"1","1","1","1","1","3","0","5","5","1231","432423","931"}; orderAsc(arr); for (String str: arr ) { System.out.print(str + " / "); } System.out.println(); orderDesc(arr); for (String str: arr ) { S..
2023-01-30 1. 방법 아래의 방법은 기존 set에서 비교하고자 하는 set을 빼는 방법이다. 코드는 간단하지만 원본객체가 보존이 되지 않는 문제점이 있다. @Test public void SetTest1(){ Set allNameSet =new HashSet(); allNameSet.add("a"); allNameSet.add("b"); allNameSet.add("c"); allNameSet.add("d"); allNameSet.add("e"); Set NameSet =new HashSet(); NameSet.add("a"); NameSet.add("b"); NameSet.add("c"); allNameSet.removeAll(NameSet); for(String name : allNameSe..
2023-01-08 1. 방법 방법은 전달받은 문자열 객체의 길이에 따라 루프를 돌면서 한글일 경우 한글 음절의 시작위치인 0xAC00 차감한 후 아래의 공식을 적용하여 구할 수 있다. (unicode % 28) -> 종성 구하기 (unicode - (unicode % 28))/28) -> 중성 구하기 ((unicode - (unicode % 28))/28)/21 -> 초성 구하기 이후 한글 초성에 대한 인덱스가 리턴이 되는데, 해당 인덱스는 static 배열에 순서대로 자음을 적어두었다. 한글 초성은 순서대로 ㄱ-ㅎ(0 ~ 18) 의 순서를 가진다. import java.util.Optional; static String [] INITIAL_STRING = { "ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ"..
2022-12-12 1. 방법 apache.commons.text 라이브러리에서 제공하는 LevenshteinDistance를 사용하면 두 문자열 간에 차이를 쉽게 구할 수 있다. 여기서 LevenshteinDistance는 편집 거리 알고리즘이라고 불리며, 두 문자열에 형태적 유사도를 측정하는 방법이다. https://en.wikipedia.org/wiki/Levenshtein_distance Levenshtein distance - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Computer science metric for string similarity In information theory, l..