문제 설명
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
제한 사항
1 ≤ my_string의 길이 ≤ 100 1 ≤ is_suffix의 길이 ≤ 100 my_string과 is_suffix는 영소문자로만 이루어져 있습니다.
나의 코드
class Solution {
public int solution(String my_string, String is_suffix) {
int answer = 0;
String[] temp = new String[my_string.length()];
for(int i=0; i<temp.length; i++) {
temp[i] = my_string.substring(i);
}
for(int j=0; j<temp.length; j++) {
if(temp[j].equals(is_suffix)) answer = 1;
}
return answer;
}
}
substring
메서드를 사용하여 접미사들 배열 temp에 저장다른 사람 코드
class Solution {
public int solution(String my_string, String is_suffix) {
if(my_string.endsWith(is_suffix)) {
return 1;
} else {
return 0;
}
}
}
endsWith
메소드 사용
class Solution {
public int solution(String my_string, String is_suffix) {
int answer = 0;
for(int i=0;i<my_string.length();i++){
if(is_suffix.equals(my_string.substring(i))){
answer = 1;
break;
}
}
return answer;
}
}
따로 배열에 저장안하고 my_string을 substring으로 자르면서 돌며 바로바로 확인
느낀 점
내 코드처럼 따로 저장을 안하고 자르면서 돌며 바로바로 확인하는 방법이 있었고, 해당 문제에 딱 맞는 endsWith
메소드도 존재했다.