시간복잡도란?\-> 입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계. 입력값이 2배로 늘어났을 때 문제를 해결하는 데 걸리는 시간은 몇 배로 늘어나는지를 보는 것이다. 입력값이 늘어나도 걸리는 시간이 덜 늘어나는 알고리즘이 좋은 알고리즘이다.How to defin
배열의 특징배열은 크기가 정해진 데이터의 공간입니다. 한 번 정해지면 바꿀 수 없다.배열은 각 원소에 즉시 접근할 수 있다. (ex: rooms0) 2-1. 여기서, 원소의 순서는 0부터 시작하고 이를 인덱스라고 부른다.2-2. 여기서 즉시 접근 가능하다는 말은 상수
3. 정렬 + stack / queue + Hash > * 정렬 -> 정렬이란 데이터를 순서대로 나열하는 방법을 의미한다. 정렬은 알고리즘의 굉장히 중요한 주제인데, 이진 탐색을 가능하게도 하고, 데이터를 조금 더 효율적으로 탐색할 수 있게 만들기 때문이다. ex
문제: 내가 쓴 코드: 클린 코드:
기본적으로 Math 함수를 활용하느냐 안 하느냐에 차이에서 크게 갈리는 문제였던 것 같다. 알게되어서 좋았고, 직접 풀어보기도해서 좋았다.Javascript언어에 math 객체에 존재의 유무에 대해 알게되었다.math 객체에 있는 ceil 속성이 소수점으로 정수 뒤
문제: 내가 쓴 코드: 모범 답안: Impressive Point & Learning Point
"수를 비교한다"는 전제가 나왔을 때 특히 배열 구조에서 앞 번쨰 수와 뒷 번쨰 수를 비교한다는 편견으로 굳어져 있었던 것 같다. 모범 코드를 보기전에 작성한 코드를 보면 굳이 필요하지 않은 수를 두번씩 비교해가면서 1중으로 체크할 수 있는 것을 2중으로 체크하였다
for문 선언시에 "let x of arr" 구문을 통해 x 자체에 배열 arrx = x로, x값 자체를 arr의 x번째 값을 가져와 사용했다. 이 부분이 인상깊었고, 전체 코드도 보다 직관적이고 깔끔하게 볼 수 있어서 좋았던 부분이다. JS에서 "===" 와 "=
for문 선언시 "let x of arr" 구문에서 of 부분을 깜빡해서 in 으로 작성했다가 코드 부분에서 분명 오류날 것이 없었는데, 결과값이 다르게 나오는 것을 보고 다시 상기시킬 수 있었다. 외워두장!답안 코드와 작성한 코드가 거의 똑같았다. 달랐던 부분은