Codekata week 1

EJ__OH·2021년 11월 21일
0

Day 1 : twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return 해주세요.

nums: 숫자 배열 / target: 두 수를 더해서 나올 수 있는 합계 / return: 두 수의 index를 가진 숫자 배열

const twoSum = (nums, target) => {
  for(let i = 0; i < nums.length; i++){
    for(let j = 0; j < nums.length; j++){
      if(nums[i] + nums[j] === target){
        return [i, j]
      }
    }
  }
}

Day 2 : reverse 함수에 정수인 숫자를 인자로 받을 때, 그 숫자를 뒤집어서 return해주세요.

x: 숫자 / return: 뒤집어진 숫자를 반환!

const reverse = x => {
  if(typeof x === "number"){
    if(x < 0){
      const negative = "-";
      const absoluteX = Math.abs(x);
      const stringX = absoluteX.toString();
      const arrayX = Array.from(stringX);
      arrayX.reverse();
      const reversedStringX = arrayX.join("");
      const result = negative + reversedStringX;
      return Number(result);
    }else{
      const stringX = x.toString();
      const arrayX = Array.from(stringX);
      arrayX.reverse();
      const reversedStringX = arrayX.join("");
      return Number(reversedStringX);
    }
  }
}

통과는 했지만 너무 안 이쁜 코드... i와 x.length - i -1 인덱스를 통해서 더 반짝이게 풀 수 있을 듯 한데...

Day 3 : String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.

str: 텍스트 / return: 중복되지 않은 알파벳 길이 (숫자 반환)

const getLengthOfStr = str => {

}

하하 못 풀었당 하하 근데 아예 갈피도 못 잡았기 때문에 한 개도 안 아쉽당 배고파ㅠ

Day 4 : 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.

num: 숫자 / return: boolean

const sameReverse = num => {
  const stringNum = num.toString();
  const arrayNum = Array.from(stringNum);

  const reversedArrayNum = arrayNum.reverse();
  const reversedStringNum = reversedArrayNum.join("");

  if(stringNum === reversedStringNum){
    return true;
  }else{
    return false;
  }
}

Day 5 : strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요.

const getPrefix = strs => {

}

이번 주 코드카타 중에 2번째로 못 푼 문제ㅠ 첫 번째로 못푼 day 3은 못 풀 것 같아서 아쉽지도 않았지만 이날 건 풀릴 것 같으면서도 안 풀려서 많이 아쉬웠다...

다음주에 시작되는 week2에는 3문제보다 더 많은 문제를 맞힐 수 있길...

profile
Junior FE Developer

0개의 댓글