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

CodeBee_·2023년 10월 31일

프로그래머스

목록 보기
20/31


접미사인지 확인하기

https://school.programmers.co.kr/learn/courses/30/lessons/181908

문제 설명
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_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_suffix가 my_string의 접미사이기 때문에 1을 return 합니다.
입출력 예 #2
예제 2번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
입출력 예 #3
예제 3번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
입출력 예 #4
예제 4번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.


🤍 나의 풀이

function solution(my_string, is_suffix) {
    return my_string.endsWith((is_suffix)) ? 1 : 0 ;  
   }

매개변수 문자열
is_suffix에 있는 문자열이 my_string의 접미사가 맞는지 확인 true/false


🪐 다른 사람의 풀이

function solution(my_string, is_suffix) {
    return my_string.slice(my_string.length - is_suffix.length) === is_suffix ? 1 : 0
} 

.slice(my_string.length - is_suffix.length)
-> 앞에서 몇번째부터 자를것인지를 length의 차이를 slice의 start지점으로
bababa - ana = 0 1 2 3번째
인덱스 앞까지 자르는 slice의 특성을 이용
비교 후 삼항 연산자 사용

slice는 javascript 초반에 배우고 유용하게 사용하는 메서드인데 이렇게 사용 할 수도 있다는 것을 보고 흥미로웠다.


🌱 오늘 한 공부

String.prototype.endsWith()

endsWith() : 어떤 문자열에서 특정 문자열로 끝나는지를 확인할 수 있으며, 그 결과를 true 혹은 false로 반환

이 메서드를 사용하면 문자열이 다른 문자열로 끝나는지 여부를 확인할 수 있습니다. 이 메서드는 대소문자를 구분합니다.

🍨 예시코드

const str = "To be, or not to be, that is the question.";

console.log(str.endsWith("question.")); // true
console.log(str.endsWith("to be,")); // false
console.log(str.endsWith("To be,", 6)); // true
profile
엉금엉금 공부 블로그

0개의 댓글