Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

코드와이

[BAEKJOON] 5582. 공통 부분 문자열 본문

acmicpc

[BAEKJOON] 5582. 공통 부분 문자열

코드와이 2021. 7. 16. 18:58

 

문제링크

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