javascript 6

[백준] 5557 1학년 node/javascript(자바스크립트)

(끝에 출력때문에 고생해서 블로그에 정리해두려고 한닷) 문제링크 : https://www.acmicpc.net/problem/5557풀이 및 사고모든 케이스를 깡으로 계산하면 2^100( +, -로 두 가지 경우가 계속 발생)로 시간 초과다.근데 문제에서 0에서 20까지만 결과값을 유지한다고 주어져서 최대 100*21의 복잡도를 가지는 배열로 풀 수 있었다. 01...20첫 번째 값    두 번째 값    ...    마지막 값     요런 배열을 만들어서 이전 줄을 다 순회하면서 1이상의 값(해당 경우의 수)일 때 현재 값으로 +/-한 값(인덱스)에 경우의 수를 더해주면 된다.(문제를 대충 읽어서 주어진 출력을 다 써서 0~20 사이의 값을 만들면 되는줄 알았는데 그게 아니고 입력 제일 마지막 값이 되..

TIL/알고리즘 2024.08.03

[백준] 2412 암벽 등반 node/javascript(자바스크립트)

(블로그로 정리된 자료가 없어서 문제 푸는 분들에게 도움이 될까 남겨봅니닷) 문제 링크 : https://www.acmicpc.net/problem/2412풀이 및 사고좌표를 받아서 y값, x값 순으로 정렬했다. 그리고 좌표가 정렬된 배열에서 index를 가지고 bfs를 돌렸다. y값 차이가 2초과면 멈추게 했다. 그리고 올라가기만 한다는 보장이 없어서 해당 index보다 앞과 뒤 둘 다 탐색했다.방문 처리는 좌표가 정렬된 배열과 같은 길이의 1차원 배열로 처리했다. (처음에는 전체 board를 저장하는 2차원 배열을 만드려고 했다가 x좌표가 1,000,000이고 y좌표가 200,000인데 메모리 제한이 128MB라 공간 복잡도 초과가 떴다.)코드const input = require('fs').read..

TIL/알고리즘 2024.08.02

Javascript 동등 비교

React 동등 비교를 공부하며 Javascript 동등 비교에 대해 다시 정리했다자바스크립트 동등 비교원시타입(primitive type)과 객체타입(object/reference type)이 존재원시타입boolean, null, undefined, number, string, symbol, bigintbooleantrue와 false 외에도 해당 논리로 취급되는 값이 존재falsy : 조건문 내부에서 false로 취급되는 값0, undefind, 빈 문자열 등truthy1중요한 점은 객체({}, [])는 참조를 하기 때문에 true 값으로 취급Object.isES6부터 ‘===’ 동등 비교가 가지는 한계를 극복하기 위해 만들어짐두 값이 같은 값인지 결정함둘 다 undefined둘 다 null둘 다 t..

TIL/javascript 2024.04.03

Babel과 Webpack을 이용한 ES6+/ES.NEXT 개발 환경 구축

[자바스크립트 Deep Dive] 책의 49장 ES6+/ES.NEXT 개발 환경 구축을 통해 Babel와 Webpack, Polyfill을 공부해보자.Babel필요성크롭, 사파리, 파이어폭스, 엣지 같은 에버그린 브라우저(별도의 재설치 없이 업데이트가 가능한 브라우저)의 ES6 지원률은 98%로 거의 대부분 지원IE의 경우 ES6 지원률을 11% 정도로 최신 문법의 경우 IE에서 실행되지 않아 ES5 수순으로 트랜스 파일링이 필요함설명ES6+/ES.NEXT로 구현된 최신 사양의 소스코드를 IE 같은 구형 브라우저에서도 동작하는 ES5 사양의 소스코드로 변환(트랜스파일링)해주는 트랜스파일러설치npm을 이용해 설치# 프로젝트 폴더 생성$ mkdir esnext-project && cd esnext-proje..

TIL/javascript 2024.02.18

API_KEY를 안전하게 관리하는 방법

최근 노마드 코더의 vanilla javascript 강의를 들으며 페이지를 만들던 중, api key를 쓰는 부분에서 '이게 git에 올라가면 아무나 내 api key를 쓰지 않을까?'란 생각이 들어 방법을 찾아보았다.항상 제일 간단한 방법을 선호하기 때문에 해결책은 간단했는데, api key를 관리하는 파일을 만들고 그 파일을 .gitignore 파일에 추가해 git에 올리지 않는 방법이다.이렇게 사용하면 api_key를 한번에 관리할 수 있고, 매번 필요한 파일마다 수동으로 수정해야하는 수고도 덜 수 있다.  https://velog.io/@ohwowo_o/javascript-API-key-%EC%88%A8%EA%B8%B0%EA%B8%B0 [javascript] API key 숨기기🚨 자신의 ap..

TIL/기타 2024.01.31

jQuery함수 Javascript로 구현하기

모 회사를 지원하면서 과제 전형으로 알고리즘과 페이지 구현, 그리고 밑의 과제를 받았다. 이 과제를 제일 열심히 했었는데, 그 이유는 이 과제에 있던 한 문장 때문이었다.'현재 지원자 중 정답자가 없는 문제입니다'이 문장을 보고 '아 이건 꼭 풀어야겠다'고 생각해서 열심히 풀었던거 같다.javascript를 배우면서 jquery는 안 배웠는데 이렇게라도 jquery 공부를 해본게 추후에 도움이 되면 좋겠다.// 여기에 정답을 작성해주세요class Selector {  // 생성자에서 인자에 해당하는 요소들을 배열로 element에 저장합니다.  constructor(args) {    this.element = document.querySelectorAll(args);  }  // 메서드 체이닝이 가능하..

TIL/기타 2023.12.24