코드와이
[BAEKJOON] 5582. 공통 부분 문자열 본문
문제링크
https://www.acmicpc.net/problem/5582
5582번: 공통 부분 문자열
두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들
www.acmicpc.net
package acmicpc.Gold5;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class 공통_부분_문자열 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
String s2 = br.readLine();
int l1 = s1.length();
int l2 = s2.length();
int ans = 0;
int[][] dp = new int[l1+1][l2+1];
for(int i = 1 ; i <= l1 ; i++) {
for(int j = 1 ; j <= l2 ; j++) {
if(s1.charAt(i - 1) == s2.charAt(j - 1)) {
dp[i][j] = dp[i-1][j-1] + 1;
ans = Math.max(ans, dp[i][j]);
}
}
}
System.out.println(ans);
}
}
'acmicpc' 카테고리의 다른 글
[BAEKJOON] 1717. 집합의 표현 (0) | 2021.07.24 |
---|---|
[BAEKJOON] 6593. 상범 빌딩 (0) | 2021.07.16 |
[BAEKJOON] 2668. 숫자고르기 (0) | 2021.07.14 |
[BAEKJOON] 1033. 감소하는 수 (0) | 2021.07.14 |
[BAEKJOON] 14226. 이모티콘 (0) | 2021.07.13 |