본문 바로가기

JavaScript8

[JS] 자료구조/알고리즘 中 스택(Stack) 📍들어가기전 ADT 란어떤 데이터의 구체적인 구현 방식은 생략한 채, 데이터의 추상적 형태와 그 데이터를 다루는 방법만을 정해놓은 것을가지고 ADT 혹은 추상 자료형이라고 한다. 그 중 널리 사용되는 ADT인 큐, 트리, 스택 中 스택에 대해 알아본다. ADT종류설명arr배열   stack을 담을 배열 이자 stack 그 잡채push함수   stack에 새 요소를 추가pop함수   stack의 맨 위에 있는 요소 삭제peek함수   stack의 맨 위에 있는 요소 확인lefts함수   stack에 있는 모든 요소들 문자열로 반환clear함수   stack에 있는 모든 요소들 삭제empty함수   stack의 남은 요소가 있는지 / 없는지 확인(boolean)push : 배열의 맨 뒤에 데이터를 추가하는.. 2024. 5. 9.
[JS] 자료구조 中 시간복잡도 | 빅오 표기법(Big-O Notation) 및 측정방법 복잡도 ?복잡도의 '복잡'이란 의미는 계산 복잡도에서 나온 단어로 좀 더 값이 크게 증가하는 정도를 의미한다.즉 , 코드의 복잡성보다 수치적으로 값이 얼마나 더 큰지에 대해 초점을 맞춰야 한다.   시간 복잡도 (Time Complexity) 작업을 수행하는 데 걸리는 시간이 입력 크기에 따라 어떻게 증가하는지를 나타내는 것 어떠한 알고리즘이 있는데, 이 알고리즘이 문제를 해결하기 위한 시간(연산)의 횟수즉, 알고리즘이 수행되는데 소요되는 연산 횟수를 이야기 알고리즘이 입력 크기에 따라 실행되는 데 걸리는 시간의 증가율을 설명하는 개념으로써,이는 일반적으로 알고리즘의 성능을 평가하는 데 사용동일한 기능을 수행하는 알고리즘들이 있다면, 이들 사이에서 복잡도가 낮을수록 성능이 우수 = 좋은 알고리즘  ↓ 시.. 2024. 5. 8.
[JS] 자바스크립트 reduce(리듀스) 이해하기 ES6Array.Reduce(리듀스) 란?배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환한다.즉, reduce 메서드는 배열의 각 요소를 순차적으로 처리하면서 배열을 하나의 값으로 줄여주는 함수이다. 리듀서 함수는 네 개의 인자를 가진다.누산기 (acc)현재값 (cur)현재 인덱스 (idx)원본 배열 (src)Reduce 메서드의 기본 구문과 세부내용은 아래와 같다. Array.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])  callback  : 배열의 각 요소에 대해 실행할 함수. 네 개의 인자를 가짐 1. accumulator : 누산기. 콜백의 반환값을 누적... 2024. 1. 28.
[JS] 자바스크립트 소수점 내리기/버리기 맘 다잡고 코딩 테스트 처음 시작한 날 두 수를 나누어 결과를 도출할 때 정수만을 나타내야 할 때가 있었다. 나는 Math.floor를 사용해서 정답을 도출하였지만, 다른 이의 문제풀이에서 Math.trunc()를 보았다. 처음보았기에 이리 남겨놓는다. 차이점 Math.floor() 소수점을 내린다. Math.trunc() 소수점을 버린다. ▼ Math.floor() 를 사용한 예시 Math.floor(20.3) = 20 Math.floor(-20.3) = -21 ▼ Math.trunc() 를 사용한 예시 Math.trunc(20.3) = 20 Math.trunc(-20.3) = -20 ▼ Math 객체의 반올림 관련 함수 Math.round() // 반올림 Math.ceil() // 올림 Math.fl.. 2024. 1. 8.