자료구조 & 알고리즘/백준(Baekjoon)

[백준] 1477(파이썬) - 휴게소 세우기

https://www.acmicpc.net/problem/1477 1477번: 휴게소 세우기 첫째 줄에 현재 휴게소의 개수 N, 더 지으려고 하는 휴게소의 개수 M, 고속도로의 길이 L이 주어진다. N은 100보다 작거나 같으며, M도 100보다 작거나 같다. L은 100보다 크거나 같고, 1000보다 작거나 www.acmicpc.net 이 문제를 읽고 처음 든 생각은 이분 탐색으로 풀어야겠다 였다. 처음에는 입력받은 휴게소위치에 0과 l 값을 넣어줘서 각각 휴게소 사이의 거리들을 구해서 오름차순 정렬한 뒤, 각각 거리들의 차 만큼과 이분 탐색한 값을 비교해주면서 구현하였다. 이분 탐색으로 풀어야 하는데 카운트를 어떻게 할지가 문제였는데, 거리에 맞게 지어야 하므로 거리를 mid 값으로 나눈 값을 카운트..

2021.08.01 게시됨

Language/Javascript

[javascript 자바스크립트] 순환참조 란?

타입 스크립트로(자바스크립트도 마찬가지) 개인 프로젝트를 진행하던 도중 모듈을 import해서 사용하는데 불러와지지 않아서 console.log로 출력을 해보니 undefined가 출력이 되는 문제가 발생했다. 코드상으로도 문제가 없고 모듈로 바꿔오는 과정도 잘했는데 뭐가 문제인가 하고 찾아보다가 순환 참조 때문이라는 것을 알게 되었고, 순환 참조를 정리하고 넘어가려고 한다. 간단하게 얘기하면, A.js를 export 시켜서 B.js에서 import 해서 모듈을 사용하고 있는데, B.js에서도 A.js를 import해서 사용하려고 하면, 무한 반복을 막기 위해서 의도적으로 빈 객체를 뱉어낸다. 아래 코드로 예를 들어보자. A.js 와 B.js가 있다고 가정했을 때, 이 두 모듈을 불러온 main.js에서..

2021.07.31 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 1182(파이썬) - 부분수열의 합

https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 이 문제는 다양한 방법이 있을 거 같지만 일단은 직관적으로 풀어봤다. 그냥 주어진 입력값의 조합을 다 구해서 그 조합들의 합이 S가 될 때 cnt를 1씩 올려서 구현했는데 시간 초과가 날줄 알았는데 시간 초과 없이 통과했다. 두 번째 구현은 dfs로 구현했다. idx값과 Sum 변수를 함수 변수로 넘겨주고, idx는 1씩 더해서 재귀를 사용했고 Sum을 통해서 ..

2021.07.31 게시됨

Language/Javascript

[javascript 자바스크립트] 이벤트루프 란?

자바스크립트의 큰 특징 중 하나는 '단일 스레드' 기반의 언어라는 점이다. 스레드가 하나라는 말은 곧, 동시에 하나의 작업만을 처리할 수 있다는 말이다. 하지만 Node.js기반의 웹서버에서는 동시에 여러 개의 HTTP 요청을 처리하듯이 실제로 자바스크립트가 사용되는 환경을 생각해보면 많은 작업이 동시에 처리되고 있는 걸 볼 수 있다. https://nodejs.org/ko/about/ About | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Node.js 공식 홈페이지에 가면 'Node.js 는 좀 더 발전된 이벤트 모델을 선택해서 라이브러리가 아닌 런타임 생성자로 이벤트 루프를 제..

2021.07.30 게시됨