문제
내가 작성한 정답
1. endWith()
class Solution {
public int solution(String my_string, String is_suffix) {
return my_string.endsWith(is_suffix)?1:0;
}
}
2. for
class Solution {
public int solution(String my_string, String is_suffix) {
int len = my_string.length();
String[] suffix = new String[len];
for(int i=0; i<len; i++){
suffix[i] = my_string.substring(i,len);
}
for(String s : suffix){
if(s.equals(is_suffix)) return 1;
}
return 0;
}
}
다른 사람들의 정답
for
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;
}
}
문자열 뒤집기
class Solution {
public int solution(String my_string, String is_suffix) {
// my_string을 뒤집어서 strRev에 저장
String strRev = new StringBuilder(my_string).reverse().toString();
// is_suffix를 뒤집어서 sufRev에 저장
String sufRev = new StringBuilder(is_suffix).reverse().toString();
// strRev의 시작 부분에서 sufRev가 발견되는지 확인
// strRev.indexOf(sufRev) == 0이면 sufRev가 strRev의 접두사이므로 1을 반환하고,
// 그렇지 않으면 0을 반환
return strRev.indexOf(sufRev) == 0 ? 1 : 0;
}
}
문자열 길이로 찾기
class Solution {
public int solution(String my_string, String is_suffix) {
// my_string이 is_suffix를 포함하지 않으면 0을 반환
if (!my_string.contains(is_suffix)) return 0;
// my_string의 마지막에서 is_suffix가 시작되는 인덱스를 찾고,
// 그 인덱스가 my_string의 길이에서 is_suffix의 길이를 뺀 값과 같은지 비교해
// 값이 같다면 is_suffix는 my_string의 접미사이므로 1을 반환하고,
// 그렇지 않으면 0을 반환한다.
return my_string.lastIndexOf(is_suffix) == (my_string.length() - is_suffix.length()) ? 1 : 0;
}
}
Share article