
내가 생각했을때 문제에서 원하는부분
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다.
예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
내가 이 문제를 보고 생각해본 부분
Main37 클래스 내에 solution이라는 메서드를 정적으로 정의했다.
이 메서드는 두 개의 문자열 my_string과 is_suffix를 매개변수로 받는다.
solution 메서드 내부에서 자바 표준 라이브러리의 endsWith 메서드를 사용해, my_string이 is_suffix로 끝나는지 확인한다.
endsWith는 만약 my_string의 끝부분이 is_suffix와 같으면 true, 그렇지 않으면 false를 반환한다.
if문을 통해 이 결과가 true일 때는 1을 반환하고, 그렇지 않으면 0을 반환하여 접미사 여부를 정수 값으로 나타낸다.
main 메서드에서는 여러 테스트 케이스를 직접 실행해 solution 메서드가 정상적으로 동작하는지 확인한다.
예로 "banana"와 "ana"를 넣었을 때 결과가 1로 출력되고, "nan", "wxyz", "abanana" 같은 접미사가 아닌 문자열을 넣으면 0이 출력된다.
코드로 구현
class Solution {
public int solution(String my_string, String is_suffix) {
if (my_string.endsWith(is_suffix)) {
return 1;
} else {
return 0;
}
}
}
프로그래머스 코드
package programmers;
// 프로그래머스 접미사인지 확인하기
public class Main37 {
public static void main(String[] args) {
String my_string = "banana";
String is_suffix = "ana";
int result = solution(my_string, is_suffix);
System.out.println(result); // 1 출력
// 추가 테스팅
System.out.println(solution("banana", "nan")); // 0
System.out.println(solution("banana", "wxyz")); // 0
System.out.println(solution("banana", "abanana")); // 0
}
public static int solution(String my_string, String is_suffix) {
if (my_string.endsWith(is_suffix)) {
return 1;
} else {
return 0;
}
}
}
위에 있는 코드를 변경한 코드
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.