본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기

728x90

힌트:

이 문제는 문자열의 특정 패턴을 찾아 그 패턴이 마지막으로 나타나는 위치까지의 부분 문자열을 추출하는 문제입니다. 이를 해결하기 위해 세 가지 중요한 메소드를 사용합니다:

  1. substring() 메소드:
    • 설명: 이 메소드는 문자열의 지정된 시작 인덱스에서 끝까지 또는 지정된 끝 인덱스 전까지의 부분 문자열을 반환합니다. 예를 들어, "hello".substring(1, 4)는 "ell"을 반환합니다.
    • 사용: 이 문제에서는 마지막으로 나타난 패턴까지의 문자열을 추출하는 데 사용됩니다.
  2. lastIndexOf() 메소드:
    • 설명: 이 메소드는 문자열에서 지정된 패턴이 마지막으로 나타나는 위치의 인덱스를 반환합니다. 만약 해당 패턴이 문자열에 없으면 -1을 반환합니다. 예를 들어, "hello world".lastIndexOf("o")는 7을 반환합니다.
    • 사용: 이 문제에서는 패턴이 문자열에서 마지막으로 나타나는 위치를 찾는 데 사용됩니다.
  3. length() 메소드:
    • 설명: 이 메소드는 문자열의 길이(문자 수)를 반환합니다. 예를 들어, "hello".length()는 5를 반환합니다.
    • 사용: 이 문제에서는 패턴의 길이를 더하여 부분 문자열의 끝 인덱스를 계산하는 데 사용됩니다.

정답은 더보기 클릭

더보기
class Solution {
    public String solution(String myString, String pat) {
        return myString.substring(0, myString.lastIndexOf(pat) + pat.length());
    }
}
728x90