Dseok의 실전 예제로 웹개발 한방에 끝내기

웹개발, 혼자 하려니 막막하고 힘드시죠? 저 또한 그렇습니다. 힘든 웹개발... 실전 예제를 통해 함께 공부해요!!!!😁📕

Javascript

[Dseok의 코딩스터디] 코딩테스트 연습01(기초버전) - 접미사인지 확인하기

Dseok 2024. 10. 3. 15:53
반응형
SMALL

내용 스포가 있습니다.

초보자 및 코딩테스트를 해보고 싶으신 분은 고민을 충분히 하고 열어보시기 바랍니다.

경고 했습니다. 추후 원망하시는 일 없기를 바랍니다...

 

javascript에서 공식문서 찾기 힘든 메서드와 뜻밖에 기호를 알아서 소개하고자 합니다.

 

프로그래머스에서 기초버전 문제 "접사인지 확인하기"문제입니다.

 

문제.

어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "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_string is_suffix result
"banana" "ana" 1
"banana" "nan" 0
"banana" "wxyz" 0
"banana" "abanana" 0

 

제가 푼 문제방식

function solution(my_string, is_suffix) {
    if(my_string.includes(is_suffix) === "ana"){
        return 1;
    } else {
        return 0;
    }
}

위와 같이 코드를 작성을 하니 첫 번째 케이스에서 자꾸 오류가 났었습니다.

includes()의 활용을 잘 못하고 있는 것 같은데... 감이 잡히지를 않았습니다.

하여...검색의 힘을 빌렸는데

 

아래는 검색의 힘을 빌린 답입니다.

function solution(my_string, is_suffix) {
    return +my_string.endsWith(is_suffix)
}

여기서 endsWith()메서드와 return "+"my_strign.endsWtih(...)의 +의 역할을 새롭게 알았습니다.

 

endsWith()메서드는 문자열이 내가 원하는 문자열로 끝나는지 여부를 확인하고 그 결과 값을 true, false값으로 반환을 합니다.

그러니 문제에서 endsWith("ana")을 넣으면 예제 1번만 true 값이 나오고 나머지는 false값이 나오게됩니다.

 

거기에 "+"는 검색을 해본 결과 true값은 "1"로 변환을 해주고, false값은 "0"으로 변환을 해주는 기호라고 합니다.

 

따라서, 위 코드로 작업을 하면 확장성이 매우 좋은 검색 엔진에 사용 될 수 있을 것으로 보입니다.

 

그럼 제가 만든 문제를 수정하면

function solution(my_string, is_suffix) {
    if(my_string.endsWith(is_suffix)){
        return 1;
    } else {
        return 0;
    }
}

includes()메서드를 endsWith() 메서드로 바꾸고 "+"대신 if...else문으로 바꿔서 실행을 하면 정답이 나오게 됩니다.

반응형
LIST