분류 전체보기

우리가 몰랐던 월드 와이드 웹월드 와이드 웹이란?흔히 웹(Web)으로 불리는 월드 와이트 웹(World Wide Web, www)은 인터넷에 연결된 컴퓨터들이 서로 정보를 공유할 수 있고 정보에 접근할 수 있는 공간이다. 전 세계에 흩어저있는 정보들의 모습이 거미출 처럼 연결되어 있어 웹을 통해 정보를 빠르게 찾을 수 있다.예를 들어보자면, 우리들은 인터넷 세상에서 크리에이터들이 많은 영상들을 만들어 올려주는 유튜브에서 원하는 영상을 감상할 수 있으며 아마존, 쿠팡, 등의 이커머스 플렛폼에서 원하는 물건의 정보를 얻을 수도 있고 구매할 수 있다. 웹은 1989년 팀 버너스리 경에 의해 최초로 고안되었으며, 웹의 소스코드를 저작권 없이 무료로 공개하고 웹 표준을 관리하는 W3C를 개설하는 등 웹 생태계의 ..
문제https://www.acmicpc.net/problem/2230 풀이전형적인 투 포인터 알고리즘을 이용해 두 수를 이용하는 문제다. 이 문제는 약간의 수학적인? 사고가 필요하다.입력으로 받는 수열의 경우 정렬되지 않은 상태이다. 이런 수열 그대로를 투 포인터를 이용해 문제풀이 한다면 모든 경우의 수를 탐색해야 하기에 시간복잡도가 커질 수 있다. 이런 문제는 수열을 오름차순으로 정렬해주면 해결할 수 있다. 위의 경우에서 m보다 두 수의 차가 커졌다고 생각하자. 그렇다면 현제 lp에서 rp가 오른쪽의 수는 탐색할 이유가 있는가? 절대로 없다. 이유는 차가 가장 작은 수를 찾아야 하기 때문에 rp가 증가해 현제 lp와의 차가 커지는 수는 탐색할 필요가 없기 때문이다. 코드const input = requ..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이번 문제는 투 포인터 알고리즘 처럼 풀이할 수 있지만(링크), DP 알고리즘을 이용해 풀이했다. 우선 DP의 구조는 시작 지점과 끝 지점의 위치를 이용했다.DP[시작][끝] 이런 구조를 갖고 있으며, 이러한 구조는 시작 위치의 문자와 끝 위치의 문자가 일치하는지 true false로 구분해 저장한다. 코드const solution = (s) => { let answer = 1; const dp = Array.from({ length: s.length }, (_, i) => Array.from({ l..
본 시리즈에서는 책 "이펙티브 타입스크립트"를 읽고 내용을 정리할 예정입니다. 이 책에서는 타입스크립트란 무엇이고, 어떻게 여겨야 하는지, JS와 어떤 관계인지, TS의 타입들은 null이 가능한지, any 타입에서는 어떻게 동작하는지, 덕 타이핑이 가능한지 등을 알아 볼 예정이다. Typescript는 독특한 언어이다. 파이썬이나 루비와 같이 인터프리터로 실행되는 것도 아니고, C나 Java 처럼 저수준 언어로 컴파일되는 것도 아니다. Typescript는 고수준 언어인 Javascript로 컴파일되며, Javascript로 실행된다. 이처럼 TS와 JS의 관계는 매우 필연적이다. 타입스크립트와 자바스크립트의 관계 이해하기"타입스크립트는 자바스크립트의 상위 집합이다" 또는 "타입스크립트는 타입이 정의된..
문제https://www.acmicpc.net/problem/2579 풀이처음 이 문제를 풀때는 BFS로 접근했지만 나는 풀이 방법을 찾지 못했다... 시간초과 에러가 발생했다.... 그래서 순수하게 동적 계획법을 사용해 풀이하기로 결정했다. 이 문제를 잘 보면 특정 패턴이 보일 것이다. n 번째에 도달하는 방법은 두가지가 있다. 첫 번째로는 n-1 번째에서 한칸 뛰어넘어 온 경우이고, 두 번째는 n-2 번째에서 두칸을 넘어온 경우이다. 이때 두칸을 넘어온 경우는 문제가 되지 않지만, 한 칸을 넘어온 경우는 3칸을 연속해서 넘으면 안된다는 제한이 있다. 위와 같은 제한을 피하는 방법은 n-3칸에서 두칸 넘고 n-1칸에서 한칸 넘는 방법이 있다. 코드const input = require('fs') .r..
구글의 V8 JS 엔진으로 빌드된 JS 런타임 환경인 Node.js의 등장으로 JS는 웹 브라우저를 벗어나 서버 사이드 애플리케이션 개발에서도 사용할 수 있는 언어가 되었다. 하지만 JS는 여전히 웹 브라우저 환경에서 많이 동작하는 클라이언트 사이드이다. 대부분의 프로그래밍 언어는 운영체제나 가상머신 위에서 실행되지만 웹 애플리케이션의 클라이언트 사이드 JS는 브라우저에서 HTML, CSS와 함께 실행된다. 이번 쳅터에서는 브라우저가 HTML, CSS, JS로 작성된 텍스트 문서를 어떻게 파싱하여 브라우저에 렌더링하는지 알아보자.파싱: 프로그래밍 언어의 문법에 맞게 작성된 텍스트 문서를 읽어 토큰으로 분해해 문법적 의미와 구조를 반영해 트리구조인 파스 트리를 생성하는 과정이다.렌더링: HTML, CSS,..
58청춘
'분류 전체보기' 카테고리의 글 목록 (13 Page)