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

Lellow_Mellow·2023년 4월 22일
1
post-thumbnail

⭐ Lv. 0 - 접미사인지 확인하기

✅ 문제 설명

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

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


✅ 제한사항

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

✅ 입출력 예

my_stringis_suffixresult
"banana""ana"1
"banana""nan"0
"banana""wxyz"0
"banana""abanana"0

입출력 예 #1

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

입출력 예 #2

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

입출력 예 #3

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

입출력 예 #4

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

✅ 풀이 코드 + 설명

첫 풀이법은 다음과 같습니다.

접미사라는 말은 다시 말하자면, 문자열을 뒤집었을 때, 가장 처음에 오는 문자열이라는 뜻도 됩니다. 따라서 my_stringis_suffix를 뒤집고, is_suffix가 가장 첫 index에 존재하는지에 대한 여부를 판단하였습니다.

function solution(my_string, is_suffix) {
    return [...my_string].reverse().join('').indexOf([...is_suffix].reverse().join('')) === 0 ? 1 : 0;
}

이보다 더 간단한 풀이법이 존재했습니다.

주어진 my_string을 접미사의 길이만큼 뒤에서부터 잘라낸 다음, 잘라낸 문자열이 접미사와 동일한지를 판단해주면 됩니다.

function solution(my_string, is_suffix) {
    return Number(my_string.slice(my_string.length - is_suffix.length) === is_suffix);
}

profile
잔잔한 물결에서 파도로, 도약을 위한 도전. 함께하는 성장

0개의 댓글