문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
두 개의 문자열 a와 b가 주어졌을 때, a와 b 사이에서 공통되지 않는 부분 시퀀스 중 가장 긴 부분의 길이를 반환해라. 만약 그러한 공통되지 않는 부분 시퀀스가 존재하지 않다면 -1을 반환해라.
두 문자열 사이의 흔하지 않은 부분 시퀀스는 두 문자열 중 정확히 하나의 부분 시퀀스인 문자열이다.
#1
Input: a = "aba", b = "cdc"
Output: 3
Explanation: 가장 긴 공통되지 않는 부분 시퀀스 중 하나는 "aba"이다. 왜냐하면 "aba"는 "aba"의 부분 시퀀스이지만 "cdc"의 부분 시퀀스는 아니기 때문이다.
참고로 "cdc" 또한 가장 긴 공통되지 않는 부분 시퀀스이다.
#2
Input: a = "aaa", b = "bbb"
Output: 3
Explanation: 가장 긴 공통되지 않는 부분 시퀀스는 "aaa"와 "bbb"이다.
#3
Input: a = "aaa", b = "bbb"
Output: -1
Explanation: 문자열 a의 모든 부분 시퀀스는 문자열 b의 부분 시퀀스이다. 마찬가지로, 문자열 b의 모든 부분 시퀀스는 문자열 a의 부분 시퀀스이다. 따라서 답은 -1이다.
class Solution {
public int findLUSlength(String a, String b) {
if(a.equals(b)) return -1;
return Math.max(a.length(), b.length());
}
}