▶앞선 문자열 포함 여부 함수 포스팅 중 startsWith, endsWith 함수를 사용한 간단한 예제가 있어서 정리해보고자 합니다.
접두사인지 확인하기.
문제 설명
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "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는 영소문자로만 이루어져 있습니다.
입출력 예 & 설명
- 입출력 예 #1
- is_prefix가 my_string의 접두사이기 때문에 1을 return 합니다.
- 입출력 예 #2
- is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.
- 입출력 예 #3
- 예제 3번에서 is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.
- 입출력 예 #4
- is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.
나의 풀이
▶ slice()를 이용하여 문자열을 뒤에서 부터 접미사(is_prefix)의 길이 만큼 slice해준 문자열과 삼항연산자를 사용하기 위해 반환 값이 boolean값인 includes() 를 사용했습니다.
다른 풀이
■ startsWith() 사용
startsWith()를 사용하여 my_string가 is_prefix로 시작하는지 boolean 값으로 반환하여 값을 구했습니다.
위의 코드와 같은 코드 구성이지만 return문 앞에 "+" 를 붙여서 +string 형식으로 해준다면 데이터 타입이 string → Number 로 바뀌게 됩니다.
접미사인지 확인하기 문제설명
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "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는 영소문자로만 이루어져 있습니다.
입출력 예 & 설명
- 입출력 예 #1
- is_suffix가 my_string의 접미사이기 때문에 1을 return 합니다.
- 입출력 예 #2
- is_prefix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
- 입출력 예 #3
- is_prefix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
- 입출력 예 #4
- is_prefix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
나의 풀이
startIndex 인자로 음수 인덱스(-)를 넣기위해서 에서 ▶ 문자열 자르기 함수 포스팅 알아보았던 substr()을 이용하여 문자열 0번 째에서 접미사의 길이만큼 뒤로 이동하여 접미사의 시작 index를 넘겨주어 my_string 문자열에서 접미사를 잘라주어서 접미사랑 같은 지 비교하여 값을 리턴받았습니다.
다른 풀이
■endsWith() 사용
endsWith()를 사용하여 my_string가 is_prefix로 끝나는지 boolean 값으로 반환하여 값을 구했습니다.
'Coding Test' 카테고리의 다른 글
[프로그래머스] Lv.1 푸드 파이트 대회 (Java, StringBuilder) (0) | 2024.09.04 |
---|