javascript(40)
-
[알고리즘] 정렬 - 합병정렬(병합정렬, Merge Sort) (자바스크립트/javascript)
합병정렬(병합정렬, Merge Sort) - 전체 데이터를 하나의 단위로 분할한 후 분할한 것들을 다시 병합하는 정렬 방식 - 분할 정복 알고리즘에 속함 (분할 정복 : 어떤 문제를 그대로 해결할 수 없을 때 작은 문제로 분할해서 푸는 방법) 시간 복잡도 O(NlogN) - 최선이든 최악이든 같음 장점 - 어떠한 경우에도 좋은 성능을 보장한다. - 중복된 데이터의 순서가 바뀌지 않는 stable한 정렬이다. 단점 - 30 개 이하의 숫자를 정렬할 때는 삽입 정렬과 별 차이가 없음 - 정렬하는데 추가 메모리가 필요함 (in-place 알고리즘이 아님) 구현 function mergeSort(array) { if (array.length < 2) { return array; } let pivot = Math..
2021.05.05 -
[백준] 11653. 소인수분해 (node.js/javascript/자바스크립트/알고리즘/코딩테스트)
[백준] 11653. 소인수분해 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 26265 14154 11200 53.331% 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 예제 입력 1 72 예제 출력 1 2 2 2 3 3 예제 입력 2 3 예제 출력 2 3 예제 입력 3 6 예제 출력 3 2 3 예제 입력 4 2 예제 출력 4 2 예제 입력 5 9991 예제 출력 5 97 103 내가 작성한 코드 (자바스크립트) let fs = require('fs'); let inpu..
2021.04.14 -
[백준] 1978. 소수 찾기(node.js/javascript/자바스크립트/알고리즘/코딩테스트)
[백준] 1978. 소수 찾기 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 128 MB 68479 32271 26470 48.212% 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 예제 입력 1 4 1 3 5 7 예제 출력 1 3 예제 입력 2 (내가 추가함) 1000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42..
2021.04.14 -
#3.2 Component Life Cycle
#3.2 Component Life Cycle 🍑 이번 시간에는 리액트 컴포넌트의 life cycle 메소드에 대해서 알아보겠다. 현재 우리는 리액트 컴포넌트에서 제공하는 메소드 중에서 render 메소드만 사용하고 있다. 그런데 사실 리액트 컴포넌트는 단순히 render 말고 더 많은 걸 가지고 있다. 이들은 life cycle 메소드를 가지는데, life cycle 메소드는 기본적으로 리액트가 컴포넌트를 생성하는 그리고 없애는 방법이다. 컴포넌트가 생성될 때 render 전에 호출되는 몇 가지 function이 있다. 컴포넌트가 render 된 후 호출되는 function 들이 존재한다. 예를 들면 우리가 add 함수를 통해 +1 +1 +1을 할 때 , 컴포넌트가 업데이트 될 때 호출되는 다른 함수가..
2021.04.12 -
#3.1 All you need to know about State
#3.1 All you need to know about State 🎈이번시간에는 state안의 데이터를 업데이트하는 방법인 setState에 대해 알아보겠다. ⭐ state 안의 데이터를 업데이트 하려면 어떻게 해야할까? 🎈 잘못된 방법 add = () => { this.state.count = 1; }; minus = () => { this.state.count = -1; } 왠지 이렇게 작성하면 될 것 같지만 이렇게 작성하면 "직접 state를 변경하지 마시오"라는 메시지가 나오며, 또한 코드도 동작하지 않는다. 그 이유는 위와 같이 작성하면 리액트는 render 메소드를 refresh하지 않기 때문이다. 매번 state의 상태를 변경할 때 react가 render 메소드를 호출해서 바뀐 데이터가 ..
2021.04.12 -
#3.0 Class Components and State
#3.0 Class Components and State 🍧 이번 시간에는 state에 대해 배워보겠다. 이제 state에 대해 배워볼 것인데, state는 보통 우리가 동적 데이터와 함께 작업할 때 만들어진다. 그러나 우리가 지난시간 까지 했던 food 예제는 일일이 데이터를 손으로 입력했기 때문에 state를 배우기에 적절한 예제가 아니므로 지운다. import React from "react"; import PropTypes from "prop-types"; export default App; ( 이 상태에서 시작! ) 🍧 클래스 컴포넌트 사용하기 import React from "react"; import PropTypes from "prop-types"; class App extends Reac..
2021.04.12