학이시습
[프로그래머스] 0단계_특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (Java) 본문
문제 링크
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
실행 결과
'Coding test > Programmers' 카테고리의 다른 글
[프로그래머스] 4단계_서울에 위치한 식당 목록 출력하기 (Oracle) (2) | 2025.04.10 |
---|---|
[프로그래머스] 0단계_간단한 논리 연산 (Java) (0) | 2025.04.09 |
[프로그래머스] 0단계_홀수 vs 짝수 (Java) (0) | 2024.04.07 |
[프로그래머스] 0단계_날짜 비교하기 (Java) (0) | 2024.04.05 |
[프로그래머스] 0단계_첫 번째로 나오는 음수 (Java) (0) | 2024.02.17 |