본문 바로가기

programming study

(889)
기초 JS, CS 상식 - 유니코드 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 문자를 다루는 방식들 CCS(Coded Character Set) 문자들을 Code Point에 대응시켜 만든 코드화된 문자들의 집합 Code Point: 정의해둔 정수값, 각 문자들의 식별자가 됨 Code Point는 Character의 식별자가 됨 ex) KS C 5601, ISO 10646, US-ASCII ... CES(Character Encoding Scheme) CSS를 octet(8bit) 집합에 대응 CSS와 CES는 1:1로 대응 인코딩에 해당함 인코딩: Characther를 시스템이 인식할 수 있는 값으로 변환 디코딩: 인코딩된 값을 다시 Character로 변환 UT..
기초 JS, CS 상식 - 모듈 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1.모듈 시스템 등장 이전 일반적으로 웹 사이트는 여러개의 JavaScript로 이루어져 있음 각각 파일을 별개의 프로그램으로 취급 웹 사이트의 역할이 늘어남에 따라 파일도 크게 증가 스크립트 파일간 통신을 위해 전역 스코프의 변수와 함수를 사용해왔음 즉시 실행 함수를 통해 전역 스코프가 오염되는 것을 막을 수 있었음 but. 스크립트간의 의존도를 파악하기 힘듦 실행순서를 제어해야 했음 2. 모듈 스크립트간 의존도 파악 용히 실행 순서 제어 가능 모듈 vs. 컴포넌트 모듈 : 설계 시점에 의미있는 요소 컴포넌트 : 런타임 시점에 의미있는 요소 JavaScript에서의 모듈 런타임에서 실행 파일..
기초 JS, CS 상식 - 스코프와 클로저 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 스코프 유효 범위 변수가 어느 범위까지 참조되는 지를 뜻함 전역 스코프(Global Scope): 어디서든 접근 가능 지역 스코프(Local Scope): 해당 스코프 내에서만 접근 가능 var 예기치 못한 오류가 생길 수 있음 호이스팅되어 변수 선언이 함수 상단으로 올라가 버림 함수 수준의 스코프를 가짐 블록 내부에 새롭게 선언하더라도 블록 외부 변수값도 같이 변하게 됨 변수 선언 시, var 키워드는 지양 2. 클로저 함수가 선언된 스코프를 기억하여 함수가 스코프 밖에서 실행되어도 기억한 스코프에 접근할 수 있게 만드는 문법 닫힘, 폐쇄 외부에서 접근이 불가능한 영역을 클로저를 통해서..
기초 JS, CS 상식 - 이벤트 루프 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. JavaScript JavaScript는 Sigle Thread 언어 JavaScript Engine의 Call Stack은 하나만 존재 2. Event Loop 비동기적으로 데이터를 불러오고 애니메이션을 실행시킬 수 있는 이유 JavaScript Engine에 포함되어 있지는 않음 브라우저 또는 Node.js에서 자체적으로 관리 Event Loop로 인해 브라우저는 Multi Thread로 동작하게 됨 Web APIs에 의해 생성된 콜백 함수를 태스크 큐에서 빼와 콜스택에 넣는 역할을 함 Web APIs 브라우저에서 제공하는 API DOM API, Timer, AJAX 실행은 브라우저에..
기초 JS, CS 상식 - 흐름 제어 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 흐름 제어 Control Flow 흐름을 제어하는 방법 중 하나 조건, 반복을 통해 상태를 제어 if, for 등의 방법 이용 Data Flow 함수형 프로그래밍 방식 Control Flow vs. Data Flow Cotrol FlowData Flow Goto Stateless If / Then / Else Recursion Switch / Case Pipe For / While 2. 조건문 Control Flow에서 사용 조건이 맞을 때만 실행되는 문장(Statements) 문법 Yes or No if 괄호 안 조건식이 참인 경우 실행 else if, else도 같이 사용 가능 Jav..
[프로그래머스] 푸드 파이트 대회 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드 const solution = (foods) => { var answer = ''; // 1. 수웅이가 준비한 음식을 순회하며, 홀수인 경우 -1(짝수화) // - foods[0]는 물이므로 생략 const parsedFoods = [...foods.slice(1).map((food) => food % 2 === 1? food - 1 : food)] // 2. 수웅이가 준비한 음식을 나열하기 // - food는 수웅이가 준비한 음식의 수 // - index + 1은 수웅이가 준비한 음식의 번호 .map((food, index) => (index + 1).toString().repeat(food / 2))..
[프로그래머스] 유한소수 판별하기 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드 const getGCD = (a, b) => { if (a % b === 0) { return b } else { return getGCD(b, a % b); } } ​ const isPrime = (num) => { for (let i = 2; i { const aAndBGCD = getGCD(a, b); const reducedA = a / aAndBGCD; const reducedB = b / aAndBGCD; const divisors = []; for (let j = 2; j divisor !== 2 && divisor !== 5).length === 0? 1: 2; } Reference 프로그..
[프로그래머스] 콜라 문제 - JavaScript 풀이 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드 const solution = (a, b, n) => { let answer = 0; while (n >= a) { const cola = Math.floor(n / a) * b; const rest = n % a; n = rest + cola; answer += cola; } return answer; } Reference 프로그래머스