Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Array
- error
- angular
- 코딩테스트연습
- 타입스크립트
- 노드js
- 코딩테스트
- indexOf
- Javascript
- codingtest
- nodejs
- slice
- Programmers
- node
- Reduce
- react
- 마음커넥션
- TypeScript
- 자바스크립트
- CLI
- 개발
- 에러
- 노드
- Nextjs
- 노드제이에스
- 앵귤러
- npm
- 백엔드
- 프로그래머스
- Method
Archives
- Today
- Total
Suzie's Blog
[프로그래머스] 접미사인지 확인하기 본문
반응형
SMALL
문제 설명
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "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
입출력 예 설명
입출력 예 #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 합니다.
나의 풀이
const solution = (my_string, is_suffix) => {
const arr = [];
for(let i=0; i<my_string.length; i++){
arr.push(my_string.slice(i))
}
return arr.includes(is_suffix) ? 1 : 0
}
string도 length를 구할 수 있는 점을 이용해서 for 문을 string의 길이만큼 돌려주고 빈배열 arr에 slice를 이용해서 앞글자부터 점차 잘라준 요소들을 push해주었고 만약 is_suffix가 arr에 포함되어있으면 1 아니면 0을 return하도록 삼항연산자를 이용하여 문제를 해결했다.
인상 깊었던 다른사람의 풀이
const solution = (my_string, is_suffix) => my_string.endsWith(is_suffix) ? 1 : 0
아니 이걸 한줄로 풀었다니..! 분석을 한번 해보겠다.
처음보는 method가 보인다
"endsWith"
mdn에 한번 검색해 보았다.
The `endsWith()` 메서드를 사용하여 어떤 문자열에서 특정 문자열로 끝나는지 확인할 수 있어며, 그 결과를 true 혹은 false로 반환한다. (출처 : mdn)
아래는 예제이다
var 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', 19)); // true
두번째로 오는 요소를 이용해서 스트링의 마지막 글자의 limit을 설정 해 줄 수 있는 것 같다.
반응형
LIST
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 가까운 1 찾기 (JavaScript) (0) | 2023.09.20 |
---|---|
[프로그래머스] 배열의 원소만큼 추가 (0) | 2023.09.04 |
[프로그래머스] 카운트 다운(JavaScript) (0) | 2023.06.16 |
[프로그래머스] 마지막 두 원소(JavaScript) (0) | 2023.06.14 |
[프로그래머스] 소인수분해 (JavaScript) (0) | 2023.01.12 |