프론트엔드✏️/코드캠프
알고리즘 - substr
당근먹는하니
2022. 5. 28. 00:19
728x90
반응형
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n은 1이상, 50000000000000 이하인 양의 정수입니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
// str에 있는 op의 개수 찾기 ~~
function finder(str, op) {
console.log(str.split(''));
console.log(str.split('').filter((el)=> el === op).length)
return
}
finder('+-*%+', '+');
// 임의의 문자열 입력받아 각 글자로 만들 수 있는 길이 2의 문자열들을 모두 확인하여 새로운 배열에 담아 반환하는 함수
function league(str) {
str = str.split('');
let answer = [];
console.log(str);
for(let i = 0; i < str.length; ++i) {
for(let j = 0; j < str.length; ++j) {
answer.push(str[i] + str[j])
}
}
return answer;
}
league('ab')
// 어떤 타입의 데이터가 들어있는지 적은 새로운 배열 반환
function typeArray(arr) {
let answer = [];
if(!arr.length) return [];
for(let i = 0; i < arr.length; i++) {
if(typeof(arr[i])==='object') {
answer.push(Array.isArray(arr[i])? 'array' : 'object')
}
else answer.push(typeof(arr[i]));
}
return answer;
}
// 가운데 4개 * 별 로 ~
function phoneNumCutter(arr) {
// 여기에 코드를 작성하세요
console.log(arr[0].substr(0,3))
console.log(arr[0].substr(7))
let answer = [];
for(let i = 0; i < arr.length; ++i) {
answer.push(arr[i].substr(0,3) + '****' + arr[i].substr(7))
}
return answer;
}
728x90
반응형