본문 바로가기

TIL

[TIL] 2021.07.01

반응형

Facts

태이 화장실 청소

패스트캠퍼스 퀴즈 제출

헬스 한시간

코딩테스트 1과 1/2개

 

Feelings

오늘 시킨 햄버거 설명을 잘못 본 탓에 메뉴 선정을 잘못해서 기분이 안좋다.

그리고 살이 뒤룩뒤룩 찌는 기분이라 기분이 더욱 안좋다.

후덥지근하고 찐득해서 기분이 더 안좋다.

샤워하고 노트북 챙겨 나가서 스터디카페를 가서 다시 써야겠다.

 

-------------

 

스터디카페에 와서 패캠 과제를  내고 다시 TIL을 켰다.

재미있다. ㅎㅎ

자주와야겠다.

오늘은 6문제만 풀고 운동가야겠다.

 

---------------

 

51분만에 아래와 같은 문제를 풀었다.

기분이 매우 좋당 ㅎㅎ

 

-----------------

코딩테스트를 한문제 더 풀려고 시도했다.

재귀를 시도하다가 꼬여버렸다.

내일 다시 풀어야지

 

Findings

 

TDD로 코딩테스트를 풀었다.

착착 진행되는 그 느낌, 진짜 좋다.

 

function sortedFrequency(arr, target) {
  let start = 0;
  let mid;
  let end = arr.length-1;

  let firtstIndex = getFirstIndex(arr, target, start, mid, end);
  let lastIndex = getLastIndex(arr, target, start, mid, end);

  return lastIndex - firtstIndex + 1 ? lastIndex - firtstIndex + 1 : - 1;
}

function getFirstIndex(arr, target, start, mid, end) {
  let index;

  while (start <= end) {
    mid = Math.floor((start + end) / 2);
    if (arr[mid] < target) {
      start = mid + 1;
    } else if (arr[mid] > target) {
      end = mid - 1;
    } else {
      if (arr[mid - 1] === target) {
        end = mid - 1;
      } else if (arr[mid - 1] < target || arr[mid - 1] === undefined) {
        index = mid;
        break;
      }
    }
  }

  return index;
}

function getLastIndex(arr, target, start, mid, end) {
  let index;

  while (start <= end) {
    mid = Math.floor((start + end) / 2);
    if (arr[mid] < target) {
      start = mid + 1;
    } else if (arr[mid] > target) {
      end = mid - 1;
    } else {
      if (arr[mid + 1] === target) {
        start = mid + 1;
      } else if (arr[mid + 1] > target || arr[mid + 1] === undefined) {
        index = mid;
        break;
      }
    }
  }

  return index;
}

lastIndex를 반환하는 함수와 firstIndex를 반환하는 함수의 코드의 중복이 거슬린다.

어떻게 리팩터링할 수 있을까?

 

Future Action Plans

아침에 일어나 목표쓰고 밥먹고 스터디카페 가기

반응형

'TIL' 카테고리의 다른 글

[TIL] 2021.07.03 내 생일  (0) 2021.07.03
[TIL] 2021.07.02  (0) 2021.07.02
[TIL] 2021.06.30  (0) 2021.06.30
[TIL] 2021.06.29  (0) 2021.06.29
[TIL] 2021.06.28 싸피 6기 합격 후기  (0) 2021.06.28