전체 글

전체 글

    [Git] push 오류 해결 (Updates were rejected because the tip of your current branch is behind ...)

    수정 내용을 push 하려고 했더니 아래와 같은 오류가 나왔다.. ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'https://github.com/Seohyun-Roh/js_codingTest.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in ..

    크로미움 브라우저(Chromium Browser)란 무엇일까?

    노마드 코더 수업을 듣다가 크로미움(크로미엄, 크로뮴 등으로도 부른다.) 브라우저라는 단어가 나왔다. 크롬과 무슨 차이가 있는지 궁금해져서 찾아보게 되었다. Chromium Browser 크로미움 브라우저는 구글에서 개발하는 오픈 소스 웹 브라우저 및 리눅스 계열 운영체제 프로젝트이다. 프로젝트의 산물로 나온 크로미움의 소스 코드는 다양한 브라우저들의 기반 엔진이 된다. 아래의 브라우저들이 크로미움을 기반으로 제작되었다고 한다. 주로 최신 기술을 시험하는 가늠터의 역할을 하며, 윈도우, macOS, 리눅스를 지원한다. 구글 크롬 브레이브 오페라 마이크로소프트 엣지 삼성 인터넷 네이버 웨일 비발디 Electron도 Chromium과 Node.js로 만들어졌다고 한다! 크로미움과 크롬 위키에 나와있는 내용을..

    [JS] Array.from을 통한 배열 초기화

    배열의 각 인덱스에 1~10까지의 값을 초기화해준다고 했을 때 보통은 아래와 같은 방법을 생각했었다. let arr1=[]; for(let i=1;i x + x); // [2, 4, 6] //v는 할당할 value, i는 인덱스 Array.from({length: 5}, (v, i) => i); // [0, 1, 2, 3, 4] Array.from({length: 5}, (v, i) => i+1); // [1, 2, 3, 4, 5] Array.from을 이용하여 빈 배열을 초기화 하는 코드 Array.from( {length: 20}, //배열 () => Array(10).fill(0) //각 배열에 적용할 함수 ); // 0으로 초기화된 20*10 짜리 2차원 배열을 리턴

    [자료구조][JS] 스택, 큐 - push(), pop(), shift()

    기본적인 자료구조인 스택, 큐에 대해서 JS로 정리해보려 한다. push() push() 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다. arr.push(element1[, ...[, elementN]]) elementN: 배열의 끝에 추가할 요소. const animals = ['pigs', 'goats', 'sheep']; const count=animals.push('cows'); console.log(count); // expected output: 4 console.log(animals); // expected output: Array ["pigs", "goats", "sheep", "cows"] animals.push('cats', 'dogs'); conso..

    [JS] splice()란? - 배열 요소 추가/삭제/교체

    JS의 splice() 메서드에 대해서 정리해보려 한다. Array.prototype.splice() splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가해서 배열의 내용을 변경한다. array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) start: 배열의 변경을 시작할 인덱스. - 배열의 길이보다 큰 값이라면 실제 시작 인덱스는 배열의 길이로 설정된다. 음수인 경우 배열의 끝에서부터 요소를 세어나간다. 값의 절대값이 배열의 길이보다 큰 경우 0으로 설정된다. deleteCount (Optional): 배열에서 제거할 요소의 수. - deleteCount를 생략하거나 값이 array.length - start 보다 크면 s..

    [알고리즘][JS] 해쉬 알고리즘 - JS ES6 Map()

    해쉬 알고리즘이란? 해쉬는 임의의 크기를 가진 데이터를 고정된 데이터의 크기로 변환시키는 것을 말한다. 이를 이용해 특정한 배열의 인덱스나 위치를 입력하고자 하는 데이터의 값을 이용해 저장하거나 찾을 수 있다. 기존의 자료 구조들을 탐색이나 삽입을 할 때 선형시간이 걸리기도 했던 것에 비해 해쉬를 이용하면 즉시 저장하거나 찾고자 하는 위치를 참조할 수 있으므로 더 빠른 속도로 처리할 수 있다. 1. 직접 주소 테이블(Direct Addressing Table) Direct Addressing Table은 key-value 쌍의 데이터를 배열에 저장할 때 key값을 직접적으로 배열의 인덱스로 사용하는 방법이다. 예를 들어 키 값이 400인 데이터가 있다면 이는 배열의 인덱스가 400인 위치에 키 값을 저장..

    [JS] substr(), substring(), slice()란? + 차이점

    프로그래머스에서 자바스크립트 코딩테스트 문제를 풀고 다른 사람의 풀이를 보는데 어떤 풀이 밑에 이런 댓글이 달려있었다.(!!) 평소에 substr과 substring, slice를 구분하지 않고 썼었는데 무슨 차이가 있는건지, substr을 권장하지 않는 이유에 대해서도 더 알아보려 한다. 1. substr() str.substr(start, length) substr 함수는 특정 위치에서 시작해서 특정 문자 수 만큼의 문자들을 반환한다. 파라미터로 입력받은 start 인덱스부터 length 길이만큼 string을 잘라내어 반환한다. 첫 번째 글자의 인덱스는 0부터 시작한다. start가 양수일 때 문자열 전체 길이보다 크거나 같을 경우: 빈 문자열 반환 start가 음수일 때 문자열 끝에서 start ..

    투포인터 알고리즘, 슬라이딩 윈도우

    투포인터 알고리즘(Two Pointers Algorithm) 투포인터 알고리즘은 1차원 배열에서 각자 다른 원소를 가르키는 2개의 포인터를 조작해가면서 원하는 것을 얻는 형태이다. 알고리즘 문제를 풀다가 완전 탐색으로 해결하다가 시간 초과가 발생하는 경우에 사용할 수 있다. 문제는 N칸의 1차원 배열이 있을 때, 부분 배열 중 그 원소의 합이 M이 되는 경우의 수를 구하는 것이다. 이 문제에서 각 원소는 자연수이고 M 또한 자연수인데, 이 조건이 성립할 경우 사용할 수 있는 알고리즘은 다음과 같다. 포인터 2개를 준비. 이를 left, right라고 함. 처음에는 left = right = 0. 항상 left