본문 바로가기
반응형

자바스크립트100

[코딩 테스트] 24일차: 실전 모의고사 - 제한 시간 내 문제 풀기 실전 모의고사코딩 테스트를 잘 준비하기 위해서는 실제 코딩 테스트 환경과 유사한 조건에서 문제를 풀어보는 것이 중요합니다. 이번 글에서는 제한 시간 내에 문제를 해결하는 방법을 연습합니다. 아래 예제 문제들을 제한 시간 내에 풀어보세요.문제 1: 두 수의 합주어진 배열에서 두 수를 더해 특정 숫자가 되는 두 수의 인덱스를 찾으세요.JavaScriptfunction twoSum(nums, target) { const map = new Map(); for (let i = 0; i Pythondef two_sum(nums, target): num_map = {} for i, num in enumerate(nums): complement = target - num if c.. 2024. 9. 24.
[코딩 테스트] 23일차: 문제 풀이 전략과 팁 문제 풀이 전략과 팁이번 글에서는 코딩 테스트에서 문제를 효과적으로 해결하기 위한 전략과 팁을 다루겠습니다. 문제 이해와 분석, 효율적인 풀이 전략, 디버깅과 최적화, 연습과 복습 방법에 대해 알아보겠습니다.1. 문제 이해와 분석문제를 해결하기 위해서는 먼저 문제를 정확히 이해하고 분석하는 것이 중요합니다. 다음은 문제를 이해하고 분석하는 데 도움이 되는 단계들입니다.문제 읽기: 문제를 꼼꼼히 읽고 요구사항을 파악합니다.입력과 출력 확인: 입력과 출력 형식을 확인합니다.예제 이해: 제공된 예제들을 이해하고, 어떻게 작동하는지 파악합니다.제약 조건 확인: 문제의 제약 조건을 확인하여, 효율적인 알고리즘을 선택하는 데 참고합니다.2. 효율적인 풀이 전략효율적인 문제 해결을 위해 다음과 같은 전략을 사용할 수.. 2024. 9. 23.
[코딩 테스트] 22일차: 수학 문제 수학 문제수학 문제는 알고리즘 문제에서 자주 출제되며, 수학적 사고를 요구합니다. 이번 글에서는 소수 찾기, 최대 공약수와 최소 공배수, 수열 문제에 대해 알아보겠습니다.소수 찾기 (Prime Number)소수는 1과 자기 자신 외에 약수가 없는 자연수입니다. 소수 찾기 알고리즘으로는 에라토스테네스의 체가 자주 사용됩니다.예제: 소수 찾기 구현 (에라토스테네스의 체)JavaScriptfunction sieveOfEratosthenes(n) { const primes = Array(n + 1).fill(true); primes[0] = primes[1] = false; for (let i = 2; i { if (prime) acc.push(index); return acc; }, []).. 2024. 9. 22.
[코딩 테스트] 21일차: 그리디 알고리즘 문제 그리디 알고리즘 문제이번 글에서는 그리디 알고리즘을 이용한 문제 해결 방법에 대해 다뤄보겠습니다. 주로 거스름돈 문제와 활동 선택 문제를 예제로 사용하여 그리디 알고리즘의 적용 방법을 이해하겠습니다.거스름돈 문제거스름돈 문제는 가장 적은 수의 동전으로 거스름돈을 주는 방법을 찾는 문제입니다. 그리디 알고리즘을 이용하여 가장 큰 단위의 동전부터 거슬러주면 됩니다. 예제: 거스름돈 문제 구현JavaScriptfunction minCoins(coins, amount) { coins.sort((a, b) => b - a); let count = 0; for (let coin of coins) { while (amount >= coin) { amount -= coin; count++;.. 2024. 9. 21.
[코딩 테스트] 20일차: 동적 프로그래밍 동적 프로그래밍 (Dynamic Programming)동적 프로그래밍은 복잡한 문제를 더 작은 부분 문제로 나누어 해결하는 방법입니다. 부분 문제의 해결 결과를 저장하여 동일한 부분 문제를 다시 계산하지 않도록 합니다. 동적 프로그래밍은 주로 최적화 문제에 사용되며, 메모이제이션(Memoization)과 타뷸레이션(Tabulatioon) 두 가지 방법으로 구현할 수 있습니다.동적 프로그래밍의 주요 개념부분 문제(Subproblem): 원래 문제를 구성하는 더 작은 문제최적 부분 구조(Optimal Substructure): 부분 문제의 최적 해를 이용하여 원래 문제의 최적 해를 구할 수 있는 구조중복되는 부분 문제(Overlapping Subproblems): 동일한 부분 문제가 여러 번 반복되는 문제 .. 2024. 9. 20.
[JavaScript 문법] 49일차: 라우팅 설정 라우팅이란?라우팅은 사용자가 애플리케이션 내에서 다양한 페이지나 뷰로 이동할 수 있도록 하는 기술입니다. 싱글 페이지 애플리케이션(SPA)에서 라우팅을 통해 사용자는 페이지 전체를 새로 고침하지 않고도 콘텐츠를 탐색할 수 있습니다.React Router 설정 및 사용법React Router 설치React 애플리케이션에서 라우팅을 사용하려면 React Router 패키지를 설치해야 합니다.npm install react-router-domReact Router 설정React Router를 사용하여 라우팅을 설정하고, BrowserRouter, Route, Switch 컴포넌트를 사용합니다.예제: React Router 설정// App.jsimport React from 'react';import { Bro.. 2024. 9. 19.
[코딩 테스트] 19일차: 탐욕 알고리즘 탐욕 알고리즘 (Greedy Algorithm)탐욕 알고리즘은 매 순간 가장 최적이라고 생각되는 해를 선택하여 문제를 해결하는 방법입니다. 이 방법은 부분적인 최적 해가 전체적인 최적 해가 될 수 있는 문제에 적합합니다. 탐욕 알고리즘은 주로 최적화 문제에 사용됩니다.탐욕 알고리즘의 주요 개념현재 시점에서 가장 좋은 선택: 각 단계에서 가장 좋은 선택을 하여 문제를 해결부분 최적 해: 각 부분 문제에서의 최적 해가 전체 문제에서도 최적 해가 되는 경우활동 선택 문제 (Activity Selection Problem)활동 선택 문제는 시작 시간과 종료 시간이 주어진 여러 활동 중에서 서로 겹치지 않게 최대한 많은 활동을 선택하는 문제입니다. 탐욕 알고리즘을 이용하여 해결할 수 있습니다. 예제: 활동 선택 .. 2024. 9. 19.
[JavaScript 문법] 48일차: Angular 상태 관리 Angular의 상태 관리Angular는 컴포넌트 기반 아키텍처를 사용하여 상태를 관리합니다. 각 컴포넌트는 자체 상태를 가지고 있으며, 부모-자식 관계를 통해 상태를 전달할 수 있습니다. 그러나 대규모 애플리케이션에서는 보다 체계적인 상태 관리가 필요하며, 이를 위해 NgRx와 같은 상태 관리 라이브러리를 사용할 수 있습니다.NgRx 소개NgRx는 Angular 애플리케이션의 상태 관리를 위한 Redux 기반 라이브러리입니다. NgRx는 애플리케이션의 상태를 일관성 있게 관리하고, 상태 변화의 흐름을 명확하게 합니다. NgRx의 주요 개념으로는 스토어(store), 액션(actions), 리듀서(reducers), 이펙트(effects), 셀렉터(selectors) 등이 있습니다.NgRx 설치NgRx를.. 2024. 9. 18.
[JavaScript 문법] 47일차: Vuex 상태 관리 Vuex란?Vuex는 Vue.js 애플리케이션의 상태 관리를 위한 중앙 집중식 저장소를 제공하는 상태 관리 패턴 라이브러리입니다. Vuex는 상태(state), 뮤테이션(mutations), 액션(actions), 게터(getters)와 같은 개념을 통해 상태를 관리합니다.Vuex 설치Vuex를 사용하기 위해 Vuex 패키지를 설치합니다.npm install vuex --save상태 관리의 주요 개념상태(state): 애플리케이션의 상태를 나타내는 객체입니다.뮤테이션(mutations): 상태를 변경하기 위한 동기 메서드입니다.액션(actions): 상태를 변경하기 위한 비동기 작업을 포함한 메서드입니다.게터(getters): 상태를 반환하는 계산된 속성입니다.Vuex 설정Vuex를 설정하여 상태를 관리.. 2024. 9. 17.
[코딩 테스트] 16일차: 트리 알고리즘 트리 알고리즘트리는 노드와 간선으로 이루어진 자료구조로, 사이클이 없는 연결 그래프입니다. 이진 트리, 이진 탐색 트리(BST), AVL 트리, 힙(Heap) 등 다양한 트리 구조가 있으며, 각기 다른 특성과 용도를 가지고 있습니다.이진 트리와 이진 탐색 트리 (BST)이진 트리는 각 노드가 최대 두 개의 자식을 가지는 트리입니다. 이진 탐색 트리(BST)는 이진 트리의 일종으로, 왼쪽 자식은 부모보다 작고, 오른쪽 자식은 부모보다 큰 값을 가지는 트리입니다. 예제: 이진 탐색 트리 구현JavaScriptclass TreeNode { constructor(value) { this.value = value; this.left = null; this.right = null; }}class.. 2024. 9. 16.
반응형