문제
내가 작성한 정답
바로 return하기
class Solution {
public String solution(String myString, String pat) {
int len = myString.length();
for(int i=len; i>0; i--){
if(myString.substring(0,i).endsWith(pat)) return myString.substring(0,i);
}
return "";
}
}
StringBuilder
class Solution {
public String solution(String myString, String pat) {
StringBuilder sb = new StringBuilder();
int len = myString.length();
for(int i=len; i>0; i--){
if(myString.substring(0,i).endsWith(pat)) {
sb.append(myString.substring(0,i));
break;
}
break;
}
return sb.toString();
}
}
endsWith 사용하지 않고 풀기
import java.util.*;
class Solution {
public String solution(String myString, String pat) {
ArrayList<String> answer = new ArrayList<>();
int len = myString.length(), pp = pat.length();
for(int i=0; i<=len-pp; i++){
if(myString.substring(i,i+pp).equals(pat)) {
answer.add(myString.substring(0,i+pp));
}
}
return answer.get(answer.size()-1);
}
}
class Solution {
public String solution(String myString, String pat) {
String answer = "";
for(int i=myString.length(); i>=pat.length(); i--){
if(myString.substring(i-pat.length(),i).equals(pat)){
answer = myString.substring(0,i);
break;
}
}
return answer;
}
}
다른 사람들의 정답
lastIndexOf
: 해당 글자가 시작되는 위치의 첫 인덱스를 출력
class Solution {
public String solution(String myString, String pat) {
return myString.substring(0, myString.lastIndexOf(pat) + pat.length());
}
}
Share article