반응형

전체 글 55

자바스크립트 비동기 처리 async/await

[JS]비동기 처리1-Callback-자바스크립트/Javascript 어떠한 함수들이 시간이 걸리는 연산(또는 작업)일 때 그냥 순서대로 호출하는 식의 코드를 작성하게 되면, 원하는 순서대로 처리가 되지 않는것을 경험 할 수 있다. 😅실행할때 마다 실행순서 jaegeun.tistory.com [JS]비동기 처리2-Promise-자바스크립트/Javascript 🤓Callback 함수를 Promise로 변경 '비동기 처리 1 - Callback'(https://jaegeun.tistory.com/22)의 방법을 Promise 방법으로 바꾸는 코드는 다음과 같다. function func1() { return new Promise((resolve, rejec.. jaegeun.tistory.com 🤓 Prom..

개발/Javascript 2021.10.04

자바스크립트 비동기 처리 Promise

자바스크립트 비동기 처리 Callback 어떠한 함수들이 시간이 걸리는 연산(또는 작업)일 때 그냥 순서대로 호출하는 식의 코드를 작성하게 되면, 원하는 순서대로 처리가 되지 않는것을 경험할 수 있다. 😅 실행할 때마다 실행 순서 jaegeun.tistory.com 🤓 Callback 함수를 Promise로 변경 '비동기 처리 Callback'의 방법을 Promise 방법으로 바꾸는 코드는 다음과 같다. function func1() { return new Promise((resolve, reject) => { setTimeout(()=>{ console.log('1'); resolve(); }, Math.random()*100); }); } function func2() { return new Prom..

개발/Javascript 2021.10.04

자바스크립트 비동기 처리 Callback

어떠한 함수들이 시간이 걸리는 연산(또는 작업)일 때 그냥 순서대로 호출하는 식의 코드를 작성하게 되면, 원하는 순서대로 처리가 되지 않는것을 경험할 수 있다. 😅 실행할 때마다 실행 순서가 달라요! 아래 코드는 각 함수들의 실행 시간을 Math.random() 함수를 이용하여 랜덤하게 실행되도록 했다. func1(), func2(), func3() 순서대로 호출했지만 실행할 때마다 호출되는 순서가 다른것을 볼 수 있다. * Math.random() : 0~1 사이의 소수 값을 반환해주는 함수 function func1() { setTimeout(()=>{ console.log('1'); }, Math.random()*100); } function func2() { setTimeout(()=>{ cons..

개발/Javascript 2021.10.04

[Node js]npm --save/--save-dev 차이(diff)

npm을 이용하여 node의 모듈을 install 할때 사용하는 옵션 중 --save/--save-dev 차이 이해 --save package.json => dependencies에 항목을 추가 해준다. dependencies항목에 추가 하면 node_modules 폴더를 공유하지 않고, package.json만 이용하여 동일한 환경을 구성할 수 있다. npm5부터는 --save 옵션이 defalut이다. --save-dev 기본 기능은 --save 옵션과 동일하다. package.json => devdependencies에 항목을 추가 해준다. production으로 빌드시 포함되지 않게 한다. 배포될때 필요하지는 않지만 개발 단계에 필요한 모듈 설치시 사용한다. ex) jest - 테스트 모듈

개발/Node js 2021.10.03

자바스크립트 배열 연산 동기화 Promise All

자바스크립트는 절차 지향적 언어들과 달리 으로 동기화되어 실행되지 않는다. 시간이 걸리는 작업은 바로 실행되지 않고 콜백 큐에 넣어두고 다음 코드로 넘어가게 된다. 문제상황 그래서 아래와 같이 배열 요소마다 시간이 걸리는 연산(작업)은 각 연산이 끝날때 까지 기다리지 않고, 콜백 큐에 넣어 두고 넘어간다. 그렇기 때문에 아래와 같이 코드를 짜면, 연산이 끝나지 않은 값이 반환된것을 볼 수 있다. function work() { let arr = [1, 2, 3, 4, 5, 6]; arr.forEach(element=>{ setTimeout(()=>{ element *= 10; }, 100); }); return arr; } console.log("work return: ", work()); 해결 방법 그..

개발/Javascript 2021.10.03

[bfs] 삼성이의 재난 예측

삼성재난센터에서는 장마철 재난에 대처하고자 어떤 지역의 높이 정보를 파악하여 그 지역에 많은 비가 내렸을 경우 물에 잠기지 않는 안전한 영역의 개수를 조사하려고 한다. 이 때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. 예) 5*5행렬인 지역의 높이 정보가 아래와 같을 때 결과 예시이다. 물에 잠긴영역을 표시하면 아래와 다음과 같이 변하게 된다. 위의 그림에서 안전한 영역은 물에 잠기지 않는 지점들이 위, 아래, 오른쪽 or 왼쪽으로 인접해 있으며 그 크기가 최대인 영역으로, 위의 높이 4이하가 잠기는 경우에서 물에 잠기지 않는 안전한 영역은 5개가 된다(꼭지점으로만 붙어 있는 두 지점은 인접하지 않는다고 취급!) 이와 같이 장..

개발/알고리즘 2015.02.12

[dfs] 단지 번호 붙이기 ->bfs로 풀기

프로그램 명: danji 제한시간: 1 초 아래와 같은 정사각형 모양의 지도가 있다. 1 은 집이 있는 곳을, 0 은 집이 없는 곳을 나타낸다. 0 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 0 0 0 그림 1 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 그림 2 는 그림1 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고 , 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 ..

개발/알고리즘 2015.02.12

[greedy method] 스노보드/snowboard

프로그램 명: snowboard 제한시간: 1 초 마이클은 스노우보드를 매우 즐기는 녀석이다. 그런데 , 스노우 보드 탈 때 한가지 문제점은 내려갈때는 신나지만 올라갈때는 다시 걸어서 올라가거나 리프트를 타야하는 점이다. 마이클은 다시 올라가는 것을 되도록이면 피하고 싶어한다. 우리가 마이클을 도와주도록 하자. 다음은 입력의 한 예이다. 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 각각의 숫자는 산의 각 지점의 높이다. 스노우보드 움직일 때는 항상 높은 지점에서 낮은 지점으로만 움직여야 한다. 내려오는 코스는 산의 모든 지점을 포함하지 않을 수 있다. 위의 데이터에서 최적해는 25-24-..-2-1 이다. 입력 방법 첫째 줄에는 코..

개발/알고리즘 2015.02.12

[bfs] dam

프로그램 명: dam(open) 제한시간: 1 초 어느 마을 안에는 큰 호수가 있고, 그것을 막는 댐이 있었다. 그런데 어느날 그 댐이 무너져내려 호수에 있는 물이 마을을 모두 뒤덮으려한다. 호수에 있는 물은 다음 1시간에 한 블럭으로 이동하며, 물의 양은 무한하다 가정하자. 물은 상 하 좌 우로 퍼져나가며 마을을 뒤덮는다. 당신은 댐이 터진 순간 이 마을의 지도를 받았다. 당신이 도와줘야 할 일은 완공시간이 K시간인 댐들을 최대한 빨리 지어서 물이 더 이상 진행하지 못하도록 하는 것이다. 입력 첫 줄에는 배열의 크기인 T(1 ≤ T ≤100)가 주어지고 다음 줄부터 배열의 값이 주어진다. 0은 텅 빈 길, 1은 건물이다. (물은 건물을 뒤덮지 못한다고 가정한다.) 그리고 그 다음 줄에는 호수의 좌표 x..

개발/알고리즘 2015.02.06
반응형