특정 문자열로 끝나는 가장 긴 부분 문자열 찾기

nacSeo (낙서)·2024년 2월 21일
0

프로그래머스

목록 보기
95/169

문제 설명

문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.

제한사항

5 ≤ myString ≤ 20
1 ≤ pat ≤ 5
pat은 반드시 myString의 부분 문자열로 주어집니다.
myString과 pat에 등장하는 알파벳은 대문자와 소문자를 구분합니다.

나의 코드

class Solution {
    public String solution(String myString, String pat) {
        int temp = myString.lastIndexOf(pat);
        String answer = myString.substring(0, temp+pat.length());
        return answer;
    }
}

느낀 점

어제 문제를 풀다가 indexOf() 메서드에 관해 공부했을 때, 어렴풋이 lastIndexOf() 메소드도 봤었는데 이번 문제를 만나면서 뭔가 그 메소드를 사용해야할 것 같았다. lastIndexOf()로 원하는 문자열 pat이 마지막으로 나올 때 전까지의 위치를 찾고, 거기다 pat의 길이를 더한 것을 substring() 메소드를 활용하여 찾아냈다! 지나치듯 공부한 걸 써먹어서 헤매지 않고 비교적 간편하게 풀 수 있었던 것 같다 :) 역시 개발자는 항상 공부해야한다...!!

  • lastIndexOf()
    - 문자열 내에서 지정된 문자열 또는 문자의 마지막 등장 위치를 반환
    • int lastIndexOf(String str)
    • int lastIndexOf(String str, int fromIndex)
      - 첫 번째 형식: 주어진 문자열이 마지막으로 나타나는 인덱스를 반환 (문자열이 없으면 -1 반환)
      - 두 번째 형식: 위와 같은데, 검색을 시작할 인덱스를 지정 가능 (검색을 시작할 인덱스가 문자열의 길이를 초과하면 전체 문자열을 대상으로 검색)
profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글