Coding test/Programmers
[프로그래머스] 0단계_특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (Java)
dbswndud
2025. 4. 8. 23:15
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/181872
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
문자열 myString과 pat가 주어집니다.
myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
작성한 코드
class Solution {
public String solution(String myString, String pat) {
String answer = "";
for (int i = myString.length() - 1; i >= 0; i--) {
String str = myString.substring(0, i + 1);
if (str.endsWith(pat)) {
answer = str;
break;
}
}
return answer;
}
}
풀이
- 문자열의 처음부터 i + 1까지 문자열을 자릅니다.
- 만약 문자열(str)이 pat으로 끝난다면
- answer에 그 문자열(str)을 넣고 for문을 끝냅니다
- 아니면 계속 반복! 문자열의 끝 -1부터 0까지 반복합니다. (문자열을 자르기 위해)
- 만약 문자열(str)이 pat으로 끝난다면
- answer을 리턴해줍니다
사용한 함수
substring()
문자열의 특정 부분을 잘라내는 함수
str.substring(startIndex); // 시작 인덱스부터 끝까지 반환
str.substring(startIndex, endIndex); // 시작 인덱스부터 끝 인덱스까지 반환
endsWith()
특정 문자열로 끝나는지 확인하는 함수
str.endsWith("a"); // a로 끝나면 true 아니면 false