
//입력(intStrs, k, s, l)
["0123456789","9876543210","9999999999999"], 50000, 5, 5
//출력
[56789, 99999]
function solution(intStrs, k, s, l) {
let res = [];
for (let x of intStrs){
res.push(Number(x.substring(s, s+l)))
}
return res.filter(n => n>k)
}
intStrs에 담긴 문자열들을 s부터 l까지 잘라내 k와 비교해서 배열에 담아 반환한다.
- 반환할 배열인
res를 선언하고,intStrs의 길이만큼 반복한다.x에intStrs의 값들이 순차적으로 들어가고, 해당 문자열을substring()으로 문자열을 잘라 숫자로 변환한 후 반환한다.
//입력(my_strings, parts)
["progressive", "hamburger", "hammer", "ahocorasick"], [[0, 4], [1, 2], [3, 5], [7, 7]]
//출력
"programmers"
function solution(my_strings, parts) {
let buffer = []
for (let i = 0; i<my_strings.length; i++){
let [s, e] = parts[i];
buffer.push(my_strings[i].substring(s,e+1))
}
return buffer.join("")
}
- 문자열로 변환하여 출력할 배열의 이름을
buffer로 선언한다0부터my_strings의 길이만큼 반복한다.part[i]의 요소들을[s, e]로 선언하고,my_stirngs[i]의 문자열을s~ e+1까지 자른다.- 자른 문자열을
buffer에push하고,join을 사용하여 이어붙인 후 반환한다.
//입력(my_string, n)
"ProgrammerS123", 11
//출력
"grammerS123"
function solution(my_string, n) {
return my_string.substring(my_string.length-n, my_string.length)
}
my_string을 사용하여my_string의 길이에서n을 뺀 만큼부터 끝까지 잘라 반환한다.
//입력
"banana"
//출력
["a", "ana", "anana", "banana", "na", "nana"]
function solution(my_string) {
let res = [];
for (let i = 0; i<my_string.length; i++){
res.push(my_string.slice(i, my_string.length))
}
return res.sort()
}
res를 배열로 선언하고0부터my_string의 길이만큼 반복한다.res의 배열에i부터 끝까지 자른 문자열을push해준다..sort()로 정렬한 후 반환한다.
//입력 (my_string, is_suffix)
"banana", "ana"
//출력
1
function solution(my_string, is_suffix) {
let res = [];
for (let i = 0; i<my_string.length; i++){
res.push(my_string.slice(i, my_string.length))
}
return res.includes(is_suffix) ? 1 : 0
}
- 주어진 문자열
my_string을 위 4번과 같이 잘라 배열에 넣는 과정까진 똑같다.- 반환할 때
res라는 배열에 요소의 존재를 확인하는includes를 사용하여true인지false인지 확인한다.- 3항 연산자를 통하여
true면1을,false면0을 반환한다.