[알고리즘문제풀기] 접미사인지 확인하기

silver's avatar
Mar 13, 2025
[알고리즘문제풀기] 접미사인지 확인하기

문제

내가 작성한 정답

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

silver