
문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
myString ≤ 20pat ≤ 5pat은 반드시 myString의 부분 문자열로 주어집니다.myString과 pat에 등장하는 알파벳은 대문자와 소문자를 구분합니다.| myString | pat | result |
|---|---|---|
| "AbCdEFG" | "dE" | "AbCdE" |
| "AAAAaaaa" | "a" | "AAAAaaaa" |
입출력 예 #1
입출력 예 #2
function solution(myString, pat) {
return myString.slice(0, myString.lastIndexOf(pat) + pat.length);
}
lastIndexOf 메서드:myString.lastIndexOf(pat)는 문자열 myString에서 pat이 마지막으로 등장하는 시작 인덱스를 반환합니다.myString이 "AbCdEFG"이고 pat이 "dE"라면, "dE"는 4번 인덱스에서 시작하므로 lastIndexOf(pat)는 4를 반환합니다.pat이 마지막으로 등장하는 위치를 찾는 데 사용됩니다.slice 메서드:myString.slice(start, end)는 문자열의 start 인덱스부터 end 인덱스 직전까지의 부분 문자열을 추출합니다.start를 0으로 설정하고, end를 lastIndexOf(pat) + pat.length로 설정하여 pat으로 끝나는 부분 문자열을 추출합니다.lastIndexOf(pat)는 pat이 시작하는 위치를 나타내므로, 여기에 pat.length를 더하면 pat의 끝 위치를 포함하는 범위를 지정할 수 있습니다.lastIndexOf(pat)로 pat의 마지막 시작 위치를 구합니다.pat.length를 더하여 pat이 끝나는 위치를 포함한 범위를 계산합니다.slice(0, end)를 사용하여 myString의 시작부터 pat이 끝나는 위치까지의 문자열을 추출합니다.pat으로 끝나는 가장 긴 부분 문자열을 반환합니다.