본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 9251 LCS

by 까망 하르방 2021. 2. 21.
반응형

출처:  https://www.acmicpc.net/problem/9251

 Input 
ACAYKP
CAPCAK

 Output 

4 

LCS의 길이만 출력하는 문제이다

LCS (Longest Common Subsequence) 알고리즘

 

LCS(Longest Common Subsequence) 알고리즘

LCS(Longest Common Subsequence) '최장 공통 부분 수열'로 연속된 부분 문자열 Substring과는 다른 개념이다.   ▶ [BOJ] 5582 공통 부분 문자열 가령, 아래 두 문자열이 주어졌을 때, - A   B   C   D..

zoosso.tistory.com


import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
         
        char[] A = sc.next().toCharArray();
        char[] B = sc.next().toCharArray();
         
        int[][] LCS = new int[A.length+1][B.length+1];
         
        for(int i=1; i<=A.length; i++) {
            for(int j=1; j<=B.length; j++) {
                 
                if(A[i-1] == B[j-1]) {
                    LCS[i][j] = LCS[i-1][j-1] + 1;
                }
                else {
                    LCS[i][j] = Math.max(LCS[i-1][j], LCS[i][j-1]);
                }
            }
        }
         
        System.out.println(LCS[A.length][B.length]);
    }
}

 

반응형

'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 1958 LCS 3  (0) 2021.02.21
[BOJ] 백준 9252 LCS 2  (0) 2021.02.21
[BOJ] 백준 5582 공통 부분 문자열 (Java)  (0) 2021.02.21
[BOJ] 백준 14891 톱니바퀴  (0) 2021.02.21
[BOJ] 백준 14890 경사로  (0) 2021.02.21

댓글