처음부터 차근차근

[TIL - 231101] 코어 Javascript, 프로그래머스 코테, 코딩테스트 진행 본문

TIL

[TIL - 231101] 코어 Javascript, 프로그래머스 코테, 코딩테스트 진행

HangJu_95 2023. 11. 2. 01:23
728x90

오늘 한 일

  • 코어 Javascript - 데이터 타입 정리
  • 프로그래머스 코딩테스트
  • 퍼즐원스튜디오 코딩테스트, 인적성 검사

코어 Javascript - 데이터 타입 정리

  • 자바스크립트 데이터 타입에 대하여 다시 정리했다.
  • 코어 자바스크립트는 동작 원리와 이론에 대하여 간단하게 정리되어 있다.
  • 면접 준비하기에 굉장히 좋다.
변수는 변경 가능한 데이터가 담길 수 있는 공간이고, 식별자는 그 변수의 이름을 말한다.
데이터 타입은 값의 저장 방식과 불변성 여부에 따라 바뀌며, 기본형은 값이 담긴 주소값을 바로 복제하고, 불변성을 띄지만, 참조형은 값이 담긴 주소값들로 이루어진 묶음(객체)을 가리키는 주소값을 복제하며, 이는 참조형이기 때문에 불변성을 띄지 않는다.
참조형 데이터를 불변값으로 변경해야 하는 경우가 있는데, 이는 내부 프로퍼티들을 일일히 복제하는 깊은 복사 방법이 존재한다.

프로그래머스 코테

  • 코테 준비 관련 Lv0과 Lv2를 풀었다.
  • 정규표현식에 \D+라는 것을 알게 되었으며, D는 숫자가 아닌 것을 의미하고, +는 최소 한개를 의미한다.
  • 정규표현식에 대해 정리해야 한다고 판단. Deep Dive에 나와있으며, 추후 정리할 예정

재귀 함수를 사용하는 방법을 조금 더 연습하였다.

parseInt 메서드를 사용하면 n진수에서 10진수로 변환하는 것이 가능하다.

var binary = "1111111111";
var decimal = parseInt(binary, 2);	// 2진수에서 10진수로

var octal = "1777";
var decimal = parseInt(octal, 8);	// 8진수에서 10진수로

var hex = "3ff";
var decimal = parseInt(hex, 16);	// 16진수에서 10진수로

hash를 한번 다시 사용해봤으며, 객체로도 사용이 가능하다.

https://school.programmers.co.kr/questions/56645

조합할 수 있는 계산 방법이 나와있다.

퍼즐원 스튜디오 코테

  • 처음 보는 코딩테스트, 프로그래머스로 진행한다.
  • 이번에 어려운 코딩테스트를 풀어보면서, DP에 대해서 알아야겠다고 판단
  • 또한 코드를 짤 때, 내가 어떤 방식으로 문제를 풀 것인지 적어나가면서, 코드를 간결하게 적는 것도 중요하다고 느꼈다.

오델로 문제를 풀면서, 굉장히 반복적인 코드를 작성하고, 코드 줄이 180줄이나 나왔었다.

이것을 보면서, 반복되는 코드이지만, 왜 함수를 안썼을까?? 라고 느꼈다.

아무래도 어떻게 알고리즘을 구현할 것인지 계획을 작성하고, 그것을 보면서 코드를 작성해야겠다고 판단된다.

앞으로 어려운 코테를 풀면서, 알고리즘을 어떻게 구현하고, 코드를 어떻게 작성할 것인지 생각하면서 풀다보면, 나중에 현업 가서도 이러한 습관이 남아 클린 코드를 작성하는 데 도움이 될 것이라고 생각한다.

+ 알고리즘 공부도 해야 겠다고 판단했다.

why? 내가 손도 못 댄 문제가 있으니깐.