프론트엔드✏️/코드캠프

알고리즘 - substr

당근먹는하니 2022. 5. 28. 00:19
728x90
반응형

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

n은 1이상, 50000000000000 이하인 양의 정수입니다.

 

 

 

 

 

 

// 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
반응형