특정 문자열로 끝나는 가장 긴 부분 문자열 찾기
문제
문자열 myString
과 pat
가 주어집니다. myString
의 부분 문자열중 pat
로 끝나는 가장 긴 부분 문자열을 찾아서 return 하는 solution 함수를 완성해 주세요.
- 제한사항
- 5 ≤
myString
≤ 20 - 1 ≤
pat
≤ 5pat
은 반드시myString
의 부분 문자열로 주어집니다.
myString
과pat
에 등장하는 알파벳은 대문자와 소문자를 구분합니다.
- 5 ≤
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let myString = '';
let pat = '';
let count = 0;
rl.on('line', (line) => {
if (count === 0) {
myString = line;
} else {
pat = line;
}
count++;
if (count > 1) {
rl.close();
}
}).on('close', () => {
const answer = solution(myString, pat);
console.log(answer);
});
const solution = (myString, pat) => {
for (let i = myString.length + 1 - pat.length; i >= 0; i--) {
if (pat === myString.substring(i, i + pat.length)) {
return myString.substring(0, i + pat.length);
}
}
};
문자열이 몇 번 등장하는지 세기
문제
문자열 myString
과 pat
이 주어집니다. myString
에서 pat
이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.
- 제한사항
- 1 ≤
myString
≤ 1000 - 1 ≤
pat
≤ 10
- 1 ≤
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let myString = '';
let pat = '';
let count = 0;
rl.on('line', (line) => {
if (count === 0) {
myString = line;
} else {
pat = line;
}
count++;
if (count > 1) {
rl.close();
}
}).on('close', () => {
const answer = solution(myString, pat);
console.log(answer);
});
const solution = (myString, pat) => {
let count = 0;
for (let i = myString.length + 1 - pat.length; i >= 0; i--) {
if (pat === myString.substring(i, i + pat.length)) {
count++;
}
}
return count;
};
ad 제거하기
문제
문자열 배열 strArr
가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요.
- 제한사항
- 1 ≤
strArr
의 길이 ≤ 1,000- 1 ≤
strArr
의 원소의 길이 ≤ 20 strArr
의 원소는 알파벳 소문자로 이루어진 문자열입니다.
- 1 ≤
- 1 ≤
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let strArr = '';
rl.on('line', (line) => {
strArr = line;
rl.close();
}).on('close', () => {
const answer = solution(strArr);
console.log(answer);
});
const solution = strArr => {
return strArr.filter(str => !str.includes('ad'));
};
공백으로 구분하기 1
문제
단어가 공백 한 개로 구분되어 있는 문자열 my_string
이 매개변수로 주어질 때, my_string
에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let myString = '';
rl.on('line', (line) => {
myString = line;
rl.close();
}).on('close', () => {
const answer = solution(strArr);
console.log(answer);
});
const solution = myString => {
return myString.split(' ');
};
공백으로 구분하기 2
문제
단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string
이 매개변수로 주어질 때, my_string
에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
- 제한사항
my_string
은 영소문자와 공백으로만 이루어져 있습니다.- 1 ≤
my_string
의 길이 ≤ 1,000 my_string
의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다.my_string
에는 단어가 하나 이상 존재합니다.
소스 코드
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let myString = '';
rl.on('line', (line) => {
myString = line;
rl.close();
}).on('close', () => {
const answer = solution(myString);
console.log(answer);
});
const solution = myString => {
return myString.replace(/ +/g, ' ')
.split(' ')
.filter(str => str !== '');
};
Ghost