ahlight
개발 저장소
ahlight
전체 방문자
오늘
어제
  • 분류 전체보기 (197)
    • Java (7)
    • Spring (5)
    • JPA (2)
    • JavaScript (0)
    • Computer Science (12)
      • 디자인패턴, 프로그래밍 패러다임 (1)
      • 네트워크 (4)
      • 운영체제 (4)
      • 데이터베이스 (3)
      • 자료구조 (0)
    • 알고리즘 (1)
    • 프로그래머스 (13)
    • 백준 (94)
    • 서평 (3)
    • 회고 (1)
    • TIL (58)
    • 기타 (1)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • TDD
  • Java
  • 클린코드
  • 라즈베리파이4 #홈서버 #포트포워딩 #dhcp
  • 넥스트스텝

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ahlight

개발 저장소

백준

백준 9251번 자바

2022. 12. 19. 16:05

문제

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

 

9251번: LCS

LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.

www.acmicpc.net

import java.util.Scanner;

public class Main9251 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		String n = sc.next();
		String k = sc.next();
		int[][] lcs = new int[n.length()+1][k.length()+1];
		
		for (int i=1; i<=n.length(); i++) {
			for (int j=1; j<=k.length(); j++) {
				if (n.charAt(i-1) == k.charAt(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[n.length()][k.length()]);
	}
}

1. LCS라는 알고리즘을 처음 접해봤다. 알고리즘 그대로 문제를 푸는 것이라 어려움은 없었다. 다만 2차원 배열을 머릿속으로 그려보며 익숙해지도록 노력해야 한다.

 

2. LCS알고리즘

https://ahlight.tistory.com/59

'백준' 카테고리의 다른 글

백준 14002번 자바  (0) 2022.12.22
백준 11053번 자바 ☆  (0) 2022.12.20
백준 11048번 자바  (0) 2022.12.17
백준 2193번 자바  (0) 2022.12.16
백준 2294번 자바 ☆  (0) 2022.12.15
    '백준' 카테고리의 다른 글
    • 백준 14002번 자바
    • 백준 11053번 자바 ☆
    • 백준 11048번 자바
    • 백준 2193번 자바
    ahlight
    ahlight

    티스토리툴바