프로그래머스 접미사인지 확인하기

KIMYEONGJUN·2026년 5월 31일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다.
예를 들어, "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;
        }
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글