#1303
최장 공통 부분 수열 2
스페셜 저지
시간 제한
1s
메모리 제한
512MB
제출
1
정답
1
맞힌 사람
1
정답 비율
100.0%
문제
수열 에서 원소 몇 개를 골라 원래의 순서를 유지한 채 이어 붙여 만든 수열을 의 부분 수열이라고 한다. 예를 들어 문자열 ACAYKP의 부분 수열로는 AAK, CYP, ACAYKP 등이 있고, KAY는 부분 수열이 아니다.
알파벳 대문자로 이루어진 두 문자열 와 가 주어진다. 의 부분 수열이면서 동시에 의 부분 수열인 문자열을 두 문자열의 공통 부분 수열이라고 하며, 그중 가장 긴 것을 최장 공통 부분 수열(LCS, Longest Common Subsequence)이라고 한다.
두 문자열 와 가 주어졌을 때, 최장 공통 부분 수열을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 문자열 가, 둘째 줄에 문자열 가 주어진다. 두 문자열은 모두 알파벳 대문자로 이루어져 있으며, 길이는 각각 이상 이하이다.
출력
첫째 줄에 두 문자열의 최장 공통 부분 수열을 하나 출력한다. 최장 공통 부분 수열의 길이가 이라면 빈 줄을 출력한다. 정답이 여러 개라면 그중 하나만 출력한다.
예제 입력 1
ACAYKP
CAPCAK
예제 출력 1
ACAK
예제 입력 2
ABCBDAB
BDCAB
예제 출력 2
BCAB
예제 입력 3
ABC
DEF
예제 출력 3
- 문제를 만든 사람
- 조서현
- 알고리즘 분류
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
| # | 순위 | 사용자 | 언어 | 시간 | 메모리 | 코드 길이 | |
|---|---|---|---|---|---|---|---|
| 6509 | 🥇 | 조서현 | PyPy | 41ms | 72632KB | 646B |
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
| # | 사용자 | 문제 | 결과 | 언어 | 시간 | 메모리 | 코드 길이 | 제출 시간 | |
|---|---|---|---|---|---|---|---|---|---|
| 6509 | 맞았습니다 | PyPy | 41ms | 72632KB | 646B | 2026. 05. 20. 11:23 |