본문 바로가기

자바스크립트19

[TypeScript] TypeScript 타입스크립트 | 기술적 분석 + 사용해본 후 느낀점 TypeScript 타입스크립트 | 기술적 분석 + 사용해본 후 느낀점 [index] 1. 타입스크립트란? 2. 타입스크립트의 등장배경 3. 타입스크립트 장점과 단점 4. 타입스크립트와 자바스크립트 비교해보기 5. 타입스크립트와 자바스크립트 중 하나를 고른다면? 6. 사용해본 후 느낀점 1. 타입스크립트란? https://www.typescriptlang.org/ JavaScript With Syntax For Types. TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before y.. 2023. 12. 6.
클로저 | Closures 클로저 | Closures [index] 1. 클로저란? 2. 실행컨텍스트 관정에서 본 클로저 3. 클로저의 활용 사례 4. 클로저와 관련된 문제점 5. 결론 1. 클로저(closures)란? 1-1. 클로저에 대한 정의 클로저는 자신이 생성될 때의 렉시컬 환경(Lexical environment)을 기억하는 함수 함수와 그 함수가 선언되었을 때의 렉시컬 환경(어휘적 환경)의 조합이다. 선언되었을 때란, 내부 함수가 선언되었을 때를 지칭한다. 주변 상태(어휘적 환경)에 대한 참조나 함께 묶인(포함된) 함수의 조합을 의미한다. MDN 에서의 클로저의 정의는 다음과 같다. A closure is the combination of a function enclosed with references to its s.. 2023. 10. 17.
프로그래머스 / 코딩 기초 트레이닝 / 수 조작하기 1 수 조작하기 1 문제 설명 정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요. 제한사항 -100,000 ≤ n ≤ 100,000 1 ≤ control의 길이 ≤ 100,000 control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다. [내가 푼 방식] 단순하게 split으로 문자열 .. 2023. 9. 18.
프로그래머스 / 코딩 기초 트레이닝 / 등차수열에 특정한 항만 더하기 등차수열에 특정한 항만 더하기 문제 설명 두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ a ≤ 100 1 ≤ d ≤ 100 1 ≤ included의 길이 ≤ 100 included에는 true가 적어도 하나 존재합니다. [ 내가 푼 방식 ] 단순하게 반복문으로 작성했다. idx대로 순차적으로 돌면서 해당 하는 항일 때만 합산하는 방식으로 코드를 짰다. 규칙성 찾기 include.length === n include[i] === i .. 2023. 9. 17.
프로그래머스 / 코딩 기초 트레이닝 / 홀짝에 따라 다른 값 반환하기 홀짝에 따라 다른 값 반환하기 문제 설명 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ n ≤ 100 [ 내가 푼 방식 ] 사실 홀수의 합은 공식을 모르는 상태에서 직접 규칙성을 발견해 코드를 작성했다. check point! n이하의 홀수들의 합에 대해 내가 찾은 규칙 n이하의 홀수들의 갯수 = n /2 + 1 홀수들의 합 = 홀수들의 갯수의 제곱 짝수도 동일한 방법으로 규칙을 찾아보려고 했지만 실패했다. 그래서 짝수들의 제곱의 합은 반복문으로 작성했다. 그런데 반복문으로 작성하니까 확실히 처리 속도가 .. 2023. 9. 17.
프로그래머스 / 코딩 기초 트레이닝 / 공배수 공배수 문제 설명 정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 10 ≤ number ≤ 100 2 ≤ n, m 2023. 9. 16.
프로그래머스 / 코딩 기초 트레이닝 / n의 배수 n의 배수 문제 설명 정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return하고 n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num ≤ 100 2 ≤ n ≤ 9 [ 내가 푼 방식 ] 2023. 9. 16.
프로그래머스 / 코딩 기초 트레이닝 / 덧셈식 출력하기 덧셈식 출력하기 문제 설명 두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요. a + b = c 제한사항 1 ≤ a, b ≤ 100 [ 내가 푼 방식 ] 문자와 숫자가 ""와 +로 이어지는 혼돈의 카오스 같은 코드.. 가독성이 상당히 떨어진다. 그리고 처리 속도도 느리다. [다른 사람들이 푼 방식 ] 미리 문자를 숫자로 바꾸는 과정을 처리한 후 연산을 하는 방식으로 진행 했더니 속도가 빨라졌다. [ 다시 풀어본 방식 ] 다른 사람들이 푼 방식을 보고 다시 내가 짠 코드를 수정해보았다. 다시 풀어본 방식이 기존에 내가 풀었던 방식보다는 속도가 빠르지만 역시 Number()를 남발해서인지 다른 사람들이 푼 방식보다는 느리다. 배열의 값에 접근하고 그 값을 전부 Nuim.. 2023. 9. 15.
프로그래머스 / 코딩 기초 트레이닝 / 더 크게 합치기 더 크게 합치기 문제 설명 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요. 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다. 제한사항 1 ≤ a, b 2023. 9. 15.