TIL. 27 CodeKata 1~2일차

Minjae Choi·2021년 6월 22일
0

Coding Test

목록 보기
1/4

🎈 CodeKata(코드카타)란?

  • 카타는 반복훈련으로 무의식중에도 자유롭게 사용할 수 있도록 하는 것을 말한다.

  • 매일의 코딩 훈련을 통해 개발자의 생활에 익숙해지고 능력을 기르자!


1일차 문제

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

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

// i+j = target을 만족해야 한다.

// 배열에 있는 숫자들을 각각 모두 2개씩 뽑아 더해야한다.

// 구구단 값을 구하는 방식처럼 for문을 활용했다. i+j를 했을 때의 경우의 수를 각각의 for문으로 계산하고, target 값이 나오면 배열로 return하도록 만들었다.


2일차 문제

reverse 함수는 정수인 숫자를 인자로 받는다.
이 숫자를 뒤집어 return하세요.

function reverseInt(x) {
  const reversed = x
    .toString()
    .split("")
    .reverse().join("");
  return parseInt(reversed) * Math.sign(x);
}

// Math.sign() 메소드는 정수에 대해 양수일 경우 1, 음수일 경우 -1을 반환한다.

// 정수를 문자화 시키고, 배열화 시켜 그대로 거꾸로 문자로 입력시킨다. 그 후 양수일때는 1, 음수일때는 -1을 곱해 값을 return한다.

// 이번 문제를 통해 몰랐던 메소드와 여러 메소드를 한 번에 이어서 작성할 수 있다는 사실을 알게 되었다.


시작한지 이틀밖에 되지 않았지만, 아직 배워가는 초기단계라 그런지 풀면서 알아가는 지식과 그 과정이 즐겁다. 앞으로 검색을 생활화하며 궁금한 것들을 찾아가는 재미를 더 느껴야겠다고 생각했다.

0개의 댓글