본문 바로가기

반응형

JS

(8)
리트코드: 2. Add Two Numbers javascript 2년만에 PS를 다시 시작한다. 시작은 무난한 리코드 미디엄 문제.. ListNode 라는 릿코드에서 제공하는 자료구조를 이용해서 문제를 해결한다. ListNode는 단방향 연결리스트이다. 각각의 l1, l2의 reverse 값을 더한후 다시 reverse 하기 때문에 처음 각각의 노드들을 순회하면서 값을 더해주는 값 자체가 정답이된다. 주의할점은 각각의 노드에서 더이상 순회할게 없으면 0 이 될것이고, 각각의 노드에서 10이상의 값은 다음 node로 넘겨주면 된다. while 탈출 조건으로는 다음으로 넘길값이 없으면서 순회할 노드가 없는 경우 탈출하게 된다. /** * Definition for singly-linked list. * function ListNode(val, next) { * this...
js로 현재파일의 모든폴더 조회하고 이동링크 파일 생성하기 최근에 스터디를 위해서 깃 저장소를 만들었다. 많은 인원들이 폴더를 생성하고 파일을 작성하는데 md파일을 그 대마다 수정해서 이동경로를 만드는것에 한계를 느꼈다. 간단한 깊이 우선탐색을 이용해서 구현해보았다. 그래서 js로 간단하게 md파일의 인덱스를 만들어 주는 것을 만들고자 하였다 bb 결과 파일이다. 자그럼 js코드를 보겠다. 주의할점은 파일 하나에 모든 소스를 적당보니 소스가 분리되어 있지는 않다. const fs = require('fs'); /* ** 무시하고 싶은 폴더의 이름을 확장자명 까지 써주세요 :) */ const ignores = ['README.md','image','node_modules','writerReadme.js','package-lock.json','package.jso..
[프로그래머스] 고양이 사진 검색 사이트 https://programmers.co.kr/skill_check_assignments/4 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 과제 전형 문제인데 알고리즘과 다르게 정답은 없고 주어진 시간안에 해당 요구조건을 충족시키는 문제이다. 깃허브에 소스코드는 올려두었습니다. https://github.com/Hongjeongmin/webJsCode/tree/cat_search Hongjeongmin/webJsCode Js 프론트 프레임워크 기본 구조 구현. Contribute to Hongjeongmin/webJsCode development by c..
프로그래머스 : 가사검색 JavsScript 자료구조 : 트라이 1년전 정리했던 자료구조이다. Java로 짜여져있는 내코드를 참조했다. https://redbinalgorithm.tistory.com/167?category=880023 트라이(Trie) : JAVA / 백준 5052 트라이 알고리즘 일반 적인 정수들은 O(1) 시간내에 비교가 가능합니다 . 1==1 ,123>4 처럼 단순연산으로 접근 할 수 있습니다. 하지만 String 같은경우에는 "ABC" == "ABCD" 를 고려하기 위해서는 최대 문 redbinalgorithm.tistory.com 트라이 알고리즘은 특정 자료안에 key가 존재하는가 여부를 O(NM) 안에 알 수 있는 가장 빠른 자료구조이다(N은 쿼리수) 이러한 특성때문에 해당 프로그래머스 문제에서도 쿼리수가 많은 경우에도..
클로저 클로저 - 내부함수가 외부함수의 맥락에 접근할 수 있는 것을 가르킨다. 클로저는 자바스크립트를 이용한 고난이도의 테크닉을 구사하는데 필수적인 개념으로 활용된다. - 프라이빗한 변수를 만들때 사용한다 getter, setter같은것 부연설명을 좀더하자면 클로저는 JS만의 고유한 개념이 아니라 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어 : 얼랭, 스칼라, 하스켈에서 사용되는 중요한 특성중의 하나이다. 함수형 프로그래밍이란 프로그래밍 방법론중 하나이며 일정한 변수에 대해서 항상같은 결과가 나온다는 개념이다. ( 일급 객체란 함수자체를 인자로 받거나, 반환할 수있고 변수에 할당할 수 있는 객체를 의미한다. 이것이 가능하기 때문에 고차함수, 콜백함수도 가능하다.) 클로저는 자신이 생성될 때의 환경(Lex..
JavaScript push를 이용해서 렌더링하기. API 1 API 2 API 3 API 4 특정 API 호출시 API 1 ~ API 4 까지를 반환하고 이값을 ul > li > a 로 렌더링 할려고한다. React를 사용할 수도 있지만 JavaScript만으로 구현을 한다고하면 대부분은 아래와 같은 과정을 지나갑니다. const ul = documnet.createElement('ul'); // API 호출함수 ["API 1", "API 2", "API 3", "API 4"] 반환 const API = getAPI(URL); for(let i =0; i< 4; i++) { const li = document.createElement('li'); const a = document.createElemen('a'); a.href = `#${API[i]}`;..
프로그래머스 : 외벽 점검 (JavaScript) 문제 설명 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 도중에 주기적으로 외벽의 상태를 점검해야 할 필요가 있습니다. 레스토랑의 구조는 완전히 동그란 모양이고 외벽의 총 둘레는 n미터이며, 외벽의 몇몇 지점은 추위가 심할 경우 손상될 수도 있는 취약한 지점들이 있습니다. 따라서 내부 공사 도중에도 외벽의 취약 지점들이 손상되지 않았는 지, 주기적으로 친구들을 보내서 점검을 하기로 했습니다. 다만, 빠른 공사 진행을 위해 점검 시간을 1시간으로 제한했습니다. 친구들이 1시간 동안 이동할 수 있는 거리는 제각각이기 때문에, 최소한의 친구들을 투입해 취약 지점을 점검하고 나..
javascirpt : == 과 === 차이 // == console.log('273' == 273); // === console.log('273' === 273); // true // false == 값이 일치하면 된다. (이때 자바스크립트는 형변환을 알아서 해준다) === 값과 형이 일치해야 된다.

반응형