부트캠프 React 과정 8.18

김진우·2023년 8월 18일
0

오늘 목표

  • typescript Lv1 끝내기

  • 알고리즘 문제풀기

오늘 배운것

  • 알고리즘은 팀원들과 시간을 나눠서 풀던중 문제에 마주쳤는데

정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요.

이문제에서 우선 나는
1. n과 가까운 순서대로 정렬
1-1 n과 numlist의 숫자를 반복문으로 빼서 가장작은수를찾고
1-2 그값을 오름차순으로 정렬
1-3 배열에 값과 뺀값을 객체화 해서확인
1-4 정렬된 것에 value값만 반환
이런게 순서대로 풀 생각을 하고 문제를 풀어나갔다 그리고 나서 결과값을 찍었을때
최소값이 같은 경우에 문제에서 큰수를 앞에 적어준다고 했었는데 그 로직을 추가하지 못해서
작은 수가 먼저 나오고 큰수가 나오는 오류가 있었다.
if (a.valueMin === b.valueMin){ return b.value - a.value } return a.valueMin - b.valueMin
나는 그분에서 거리가 같은경우 큰 숫자가 앞으로 오는 방향으로 코드를 짜서 알고리즘 문제를 풀수있었다. 오늘 문제를 풀면서 내가 몰랏던 부분은
Math.abs 절대값을 구하는 매서드를 모르고있었고 하나 배울수있어서 좋았습니다.

느낀점

  • 오늘 알고리즘문제도 풀고 팀프로젝트를 시작 하였다 나는 TypeScript공부가 이전에 다하지못한부분이 있어서 따로 공부를 하고 시작하기 위해서 typescript 과제를 lv1 단계를 시작하였다.
    근데 하면서 아직 type적인 부분은 많이 없었기에 큰 힘든점은 없었지만 제너럴을 사용하고
    함수 마다 타입을 지정해주는것이 아직 많이 어색했고 코드를 완성하기 전에 오류가 계속 나오는 문제도 있었다 주말까지 많이 연습하고 빨리 팀프로젝트를 시작해야 겠다고 생각했습니다.

0개의 댓글