분류 전체보기(100)
-
[백준 알고리즘] Node.js 1448. 삼각형 만들기
1. 문제 https://www.acmicpc.net/problem/1448 1448번: 삼각형 만들기 첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다 www.acmicpc.net 2. 풀이 빨대들의 길이가 주어지면 이 길이들을 통해 세 변의 길이가 최댓값을 찾는 문제이다. 세 변의 길이로 삼각형을 만드는 조건은 가장 큰 변의 길이가 나머지 두 변의 길이의 합보다 작아야 한다. 예제 1번을 보면 가장 큰 변의 길이가 3, 나머지 두 변의 길이의 합이 3이기에 삼각형을 만들 수 없어 -1 을 출력한다. 미리 빨대들의 길이를 내림차순 정렬한 후..
2023.12.05 -
[백준 알고리즘] Node.js 1021. 회전하는 큐
1. 문제 https://www.acmicpc.net/problem/1021 2. 풀이 둘째 줄에 있는 숫자를 뽑아내기 위해 왼쪽이동, 오른쪽이동을 얼마나 최소화할 수 있는지를 구하는 문제이다. 예제 입력 2 를 예시로 들어 8이 나오는 이유를 알아보자. 10의 크기를 가진 배열이 있다. / [1,2,3,4,5,6,7,8,9,10] 2를 뽑아내기 위해 오른쪽 이동과 왼쪽 이동의 수를 비교하고, 왼쪽으로 1번 이동한다. / [2,3,4,5,6,7,8,9,10,1] 2를 뽑아낸다. / [3,4,5,6,7,8,9,10,1] 9를 뽑아내기 위해 오른쪽 이동과 왼쪽 이동의 최소값을 찾고 오른쪽으로 3번 이동한다. / [9,10,1,3,4,5,6,7,8] 9를 뽑아낸다. / [10,1,3,4,5,6,7,8] 5를 ..
2023.11.29 -
[백준 알고리즘] Node.js 1246. 온라인 판매
1. 문제 https://www.acmicpc.net/problem/1246 1246번: 온라인 판매 첫째 줄에 정수 N(1 ≤ N ≤ 1,000)과 M(1 ≤ M ≤ 1,000)이 입력된다. 둘째 줄부터 M+1번째 줄까지 i+1번째 줄에는 Pi(1 ≤ Pi ≤ 1,000,000)가 입력된다. www.acmicpc.net 2. 풀이 달걀을 팔 때, 최대 수익을 올릴 수 있는 달걀의 가격과 합계를 구하는 문제다. 예제에는 없지만 달걀의 총 개수가 사람 수보다 적을 때를 생각해야 한다. 예를 들어 달걀을 2개가 있고 각 사람에게 팔 때의 가격이 2,3,4,5,6 이라고 가정하면, 최대 수익은 10이 된다. const [N, M, ...P] = require('fs').readFileSync('/dev/std..
2023.11.27 -
[백준 알고리즘] Node.js 1059. 좋은 구간
1. 문제 https://www.acmicpc.net/problem/1059 1059번: 좋은 구간 [9, 10], [9, 11], [9, 12], [10, 11], [10, 12] www.acmicpc.net 2. 풀이 좋은 구간의 개수를 구하는 문제다. 입력 부분의 수들이 정렬되지 않은 상태로 들어오기 때문에 먼저 정렬을 진행해준다. 주어진 n이 포함된 구간을 구해야 하기에, n보다 작은 수를 구하고, n보다 큰 수를 구해 n이 포함될 수 있는 구간을 찾는다. 공식을 만들어서 적용시켜준다 (10보다 작은 수의 개수) * (10 이상인 수의 개수) + (10보다 큰 수의 개수) const [L, S, n] = require('fs').readFileSync('/dev/stdin') .toString()..
2023.11.24 -
Jest를 사용해보자! - 4편, Jest에서 절대경로 설정하기.
1. 글을 쓴 목적 절대 경로 설정을 하는데 애먹어서 작성한다~ 프로젝트의 기본 설정은 " Vite + React + TypeScript " 입니다. 2. 일단은 절대 경로를 설정해봅시다. 프로젝트를 하다보면 컴포넌트나 src들을 import 해와야한다. 규모가 커지면 path의 경로가 점점 길어지게 된다. import MyComponent from ../../../../../../../../../Component 이렇게 길게 작성하면 확인하기도 어렵고, 유지보수에도 좋지 않고, 아무튼 그냥 안 좋음. 그래서 직관으로 알아볼 수 있도록 설정하는 것이 "절대경로", Path alias 를 이용해주면 된다. 1) Typescript 설정해주기. 프로젝트를 typescript로 작성하기에 " tsconfig...
2023.11.22