![[Java] 백준 16916번 문제 (부분 문자열)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFnZ0T%2FbtsAXhyMJnZ%2FAJg89WjBPcotPemjVXI6A1%2Fimg.png)
문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { static public boolean KMP(String str, String pattern) { int LPS[] = new int[pattern.length()]; //LPS 배열 생성 int index = 0; //IDX, 찾을 문자열의 비교 인덱스를 뜻하기도 하며, 접두사와 접미사가 같을 때 최대 길이를 뜻하기도 함 for (int i = 1; i < pattern.length(); i++) //LPS배열의 값을 입력 { if (pattern.charAt(i) == pattern.charAt(index)) LPS[i] = ++i..
![[Java] 백준 1786번 문제(찾기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHsNl8%2FbtsASWo3orF%2FeyC6Y8F49BRuhhK7vZgkjk%2Fimg.png)
문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { static public ArrayList KMP(String str, String pattern) { ArrayList idxList = new ArrayList(); //찾는 문자열을 발견시 해당 문자열의 시작 인덱스를 저장하는 리스트 int LPS[] = new int[pattern.length()]; //LPS 배열 생성 int index = 0; //IDX, 찾을 문자열의 비교 인덱스를 뜻하기도 하며, 접두사와 접미사가 같을 때 최대 길이를 뜻하기도 함 for (int i = 1..
![[Oracle SQL] JOIN(카티션 곱, 동등 조인, 비동등 조인, 외부 조인, 자체 조인)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzBkMW%2FbtsA7vQPCWO%2Fe7RckDny2HKjIcPker6j9k%2Fimg.jpg)
본 게시글은 이수안컴퓨터연구소의 데이터베이스 유튜브 동영상을 개인적으로 정리하는 글입니다. Join 두 개 이상의 테이블을 서로 연결하는데 사용되는 기법 테이블들은 특정 규칙에 따라 서로 상호 관계를 가짐 조인 기법 설명 카티션 곱(Cartesian Product) 모든 행에 대해서 조인 동등 조인(Equi Join) 조인 조건이 정확히 일치할 때 조회 비동등 조인(Non Equi Join) 조인 조건이 정확히 일치하지 않는 경우 조회 외부 조인(Outer Join) 조인 조건이 정확히 일치하지 않아도 모두 조회 자체 조인(Self Join) 자체 테이블에서 조인하여 조회 카티션 곱(Cartesian Product) 공통되는 컬럼 없이 조인 조건이 없어서 모든 데이터가 조회 발생가능한 모든 경우의 수의 ..
![[Java]KMP 문자열 탐색 알고리즘](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLeVuT%2FbtsATOC7INH%2FiFSMGRcDMhBbOziKK51qK0%2Fimg.png)
KMP 알고리즘이란 이 알고리즘을 만든 Knuth, Morris, Prett 이렇게 3명의 앞 글자를 하나씩 따서 명명하여 KMP 알고리즘이라고 한다. KMP 문자열 탐색 알고리즘의 시간 복잡도는 O(N+M)이다.(전체 문자열 길이 = N, 찾는 문자열 길이 = M) LPS 배열 계산 O(M) + 매칭 O(N) KMP 알고리즘의 핵심 아이디어 IDX 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Text A B C D A B D A B C D A B E A B C D Pattern A B C D A B E 위 표에서 text와 pattern 모두 0, 1번째 인덱스와 4, 5번째 인덱스의 값이 동일하다는 것을 알 수 있다. 즉, 앞에서 2개 뒤에서 2개가 같다는 것을 알 ..
![[MySQL] JOIN(INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcrim7n%2FbtsASTLC4sj%2FNdh6OId0CS03KPSf7Yv710%2Fimg.jpg)
이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. join이란 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. 두 테이블을 엮어야만 원하는 형태가 나오는 경우도 많다. 인터넷 마켓 데이터베이스의 회원 테이블과 구매 테이블을 예로 들 수 있다. 회원 테이블에는 회원의 이름과 연락처가 있고, 구매 테이블에는 회원이 구매한 물건이 있다. 물건을 배송하려면 회원 테이블의 회원 이름과 연락처, 구매 테이블의 회원이 구매한 물건에 대한 정보가 함께 필요하다. 이렇게 두 테이블을 엮어서 하나의 배송을 위한 정보를 추출하는 것이 대표적인 join이다. 내부 조인(Inner Join) 두 테이블을 연결할 때 가장 많이 사용되는 것이..
![[JSP] JSP와 데이터베이스 연동](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBBEbI%2FbtsARhTMlKe%2Fzwr9gDh0VLK3OyCmNxpoIk%2Fimg.png)
JDBC(Java DataBase Connectivity) Java에서 DBMS의 종류와 관계없이 데이터베이스를 조작하기 위한 API(Application Programming Interface)를 의미 JDBC를 간단하게 요약하면 메소드 호출용 SQL 인터페이스라고 표현할 수 있음 JDBC 드라이버 다양한 DBMS 제조사들은 본사에서 개발한 DBMS를 Sun사의 Java 프로그램과연동할 수 있도록 기술을 지원하는 것을 의미 JDBC는 MySQL 설치과정에서 이미 설치하였으므로 따로 설치할 필요는 없지만 JDBC 드라이버가 어느 폴더에 저장되어 있는지에 대해서는 알고 있어야 함 JSP프로젝트 내에 lib폴더에 JDBC 드라이버를 추가해준다. 자세한 JDBC에 대한 내용은 아래의 포스트를 참고 2023.0..
![[JSP] 액션 태그(Action tag)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTDNW0%2FbtsATQ8nGYr%2FAuV2NhuGZrHw8Eb36BaOX0%2Fimg.png)
액션 태그 JSP에서 기본으로 제공하는 태그들의 집합으로 서버 또는 클라이언트에게 수행할 명령을 지시 액션 태그를 사용하게 되면 Java 코드를 사용하지 않아도 JSP 웹페이지를 개발할 수 있음 액션 태그는 XML 형식인 를 사용하며 끝나는 태그는 반드시 />로 마무리해야 함 액션 태그는 JSP 웹페이지를 코딩할 때 Java 코드의 작성을 피하거나 최소화하기 위해 사용 JSP 웹페이지에서 Java 코드를 최소화하게 되면 소스 코드에 대한 유지/보수를 효율적으로 수행 가능 param 현재 위치한 JSP 웹페이지에서 다른 웹페이지로 정보를 전달할 때 사용하는 태그 param 액션 태그는 단독으로 사용할 수 없으므로 태그나 태그의 내부에 선언하여 사용 param 액션 태그는 여러 개의 파라미터를 선언하여 다른..
![[MySQL] 데이터 형식, 변수, 형 변환](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbijUxR%2FbtsASr2O0iT%2FLnd1OLVBmCA7MFK9Yz3xw0%2Fimg.jpg)
이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다. 테이블을 만들 때는 데이터 형식을 설정해야 한다. 데이터 형식에는 크게 숫자형, 문자형, 날짜형이 있다. 또 세부적으로는 여러 개로 나뉘기도 한다. 이렇게 다양한 데이터 형식이 존재하는 이유는 실제로 데이터 형태가 다양하기 때문이다. 각 데이터에 맞는 데이터 형식을 지정함으로써 효율적으로 저장할 수 있다. 데이터 형식 정수형 정수형은 소수점이 없는 숫자, 즉 인원 수, 가격, 수량 등에 많이 사용된다. 정수형의 크기와 범위는 아래와 같다. 데이터 형식 바이트 수 숫자 범위 TINYINT 1 -128 ~ 127 SMALLINT 2 -32,768 ~ 32,767 INT 4 약 -21억 ~ +2..