반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181872#
문제 설명
문자열 myString과 pat가 주어집니다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
제한사항
5 ≤ myString ≤ 20
1 ≤ pat ≤ 5
pat은 반드시 myString의 부분 문자열로 주어집니다.
myString과 pat에 등장하는 알파벳은 대문자와 소문자를 구분합니다.
이 문제는 substring을 만들어 보면서 해당 substring의 마지막이 pat으로 끝나는지 확인하면 된다.
가장 긴 길이를 찾기 위해서 가장 긴 substring을 탐색하면서 만나자마자 break하는 방법을 사용했다. pat이 반복해서 나타날 경우 짧은 길이부터 찾기 시작하는 것보다 작업을 더 빨리 끝낼 수 있다.
해당 문자열이 pat으로 끝나는지 확인하는 방법으로 endsWith()를 사용하였다.
class Solution {
public String solution(String myString, String pat) {
int max =0;
for(int i=myString.length(); i>0;i--){
String sub = myString.substring(0,i);
if(sub.endsWith(pat)){
max = i;
break;
}
}
return myString.substring(0,max);
}
}
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 바탕화면 정리 자바 java (0) | 2023.08.26 |
---|---|
[프로그래머스] 공원 산책 자바 java (0) | 2023.08.21 |
[프로그래머스] 조건에 맞게 수열 변환하기2 자바 java (0) | 2023.08.20 |
[프로그래머스] 추억 점수 자바 java (0) | 2023.08.19 |
[프로그래머스] 배열 조각하기 자바 java (0) | 2023.08.17 |
댓글