접미사인지 확인하기

Programmers 코딩 기초 트레이닝


문제 설명

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, “banana”의 모든 접미사는 “banana”, “anana”, “nana”, “ana”, “na”, “a”입니다.

문자열 my_stringis_suffix가 주어질 때, is_suffixmy_string의 접미사라면 1을, 아니면 0을 반환하는 solution 함수를 작성해 주세요.

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • 1 ≤ is_suffix의 길이 ≤ 100
  • my_stringis_suffix는 영소문자로만 이루어져 있습니다.

입출력 예

my_string is_suffix result
“banana” “ana” 1
“banana” “nan” 0
“banana” “wxyz” 0
“banana” “abanana” 0

입출력 예 설명

입출력 예 #1

예제 1번에서 is_suffixmy_string의 접미사이기 때문에 1을 반환합니다.

입출력 예 #2

예제 2번에서 is_suffixmy_string의 접미사가 아니기 때문에 0을 반환합니다.

입출력 예 #3

예제 3번에서 is_suffixmy_string의 접미사가 아니기 때문에 0을 반환합니다.

입출력 예 #4

예제 4번에서 is_suffixmy_string의 접미사가 아니기 때문에 0을 반환합니다.


import java.util.ArrayList;
import java.util.List;

class Solution {
    public int solution(String my_string, String is_suffix) {
      int len = my_string.length();
	        
      // 주어진 문자열을 순서대로 순회하면서 접미사를 생성하여 리스트에 추가
      List<String> list = new ArrayList<>();
      for (int i = 0; i < len; i++) {
          StringBuilder suffix = new StringBuilder();
          for (int j = i; j < len; j++) {
              suffix.append(my_string.charAt(j));
          }
          list.add(suffix.toString());
      }
      
      // 리스트에 있는 문자열 중에서 is_suffix와 일치하는 것이 있는지 확인
      for (String suffix : list) {
          if (suffix.equals(is_suffix)) {
              return 1;
          }
      }
      
      return 0;
    }
}

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

Leave a comment