[프로그래머스-기초] 접두사인지 확인하기

JE·2023년 8월 7일
0

코테/코플릿

목록 보기
27/57

접두사인지 확인하기

문제 설명

어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

제한사항

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

입출력 예

my_stringis_prefixresult
"banana""ban"1
"banana""nan"0
"banana""abcd"0
"banana""bananan"0

입출력 예 설명

입출력 예 #1
예제 1번에서 is_prefix가 my_string의 접두사이기 때문에 1을 return 합니다.

입출력 예 #2
예제 2번에서 is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.

입출력 예 #3
예제 3번에서 is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.

입출력 예 #4
예제 4번에서 is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.

💻 내가 작성한 코드 (하지만 막힘)

function solution(my_string, is_prefix) {
    if(my_string.includes(is_prefix) && my_string[0] === is_prefix[0]){
        return 1
    }
    return 0
}

95점 ㅠㅠ


자꾸 테스트 3이 틀린다...

이번 문제에 includes메서드를 사용하기엔 맞지 않았고
간만에 문제를 풀려고 하니 머리가 굳었다..

결국... 구글링하다
startsWith라는 메서드를 알게되어 풀 수 있었다.

🥲 해결...?

function solution(my_string, is_prefix) {
    return my_string.startsWith(is_prefix) ? 1 : 0
}

startsWith?

문자열이 특정 접두사로 시작하는지 확인하는 데 사용된다.
해당 문자열이 접두사로 시작하는 경우 true, 아닌 경우 false를 반환한다.

원본문자열.startsWith(검색하려는접두사 , 인덱스)
  • 인덱스 : 문자열에서 검색을 시작할 인덱스를 지정 (기본값 0, 필수x)

💻 다른 사람이 작성한 코드

function solution(my_string, is_prefix) {
    return my_string.slice(0, is_prefix.length) === is_prefix ? 1 : 0
}
function solution(my_string, is_prefix) {
    return my_string.split(is_prefix)[0]===""?1:0;
}

slice, split로 해결하신 분이 많았다.


✏️ 마치며

나도 초반엔 문자열은 유사 배열이니 for문이나 다른 메서드를 사용해 풀어보려고 했으나...
머리 굳었다..ㅎ... 다시 열심히 해보자

이번 기회로 나의 현재 상태를 다시 한 번 알게 되었고
startsWith 메서드를 알게되었다.

다시 열심히 하자!

profile
[프론트 애송이] 작은 깨달음도 기록하기

0개의 댓글