https://www.acmicpc.net/problem/11505 11505번: 구간 곱 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 곱을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net //https://www.acmicpc.net/problem/11505 // 구간 곱 구하기 // 비재귀 세그먼트 트리 구현 class NonRecursiveSegmentTree { constructor(inputArray) { // build const inputArrayLength = inputArray.length; this.n ..
https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net //https://www.acmicpc.net/problem/2357 // 비재귀 세그먼트 트리 구현 // 최솟값과 최댓값 class NonRecursiveSegmentTree { constructor(inputArray) { // build const inputArrayLength = inputArray.length; const segmentTreeArray..
https://www.acmicpc.net/problem/1918 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 알파벳 대문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 www.acmicpc.net //https://www.acmicpc.net/problem/1918 const input = require('fs').readFileSync('./dev/stdin').toString().trim(); class Node { constructor(item) { this.item = item; this.prev = null; } } class Stack { constructor() { this..
https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 몇 달전에 풀다가 시간초과가 나왔던 문제인데.. 왜 이걸 못풀었던 건지 ㅋㅋ //https://www.acmicpc.net/problem/1655 class MinHeap { constructor() { this.heap = []; } isEmpty() { return this.heap.length == 0; } swap(a, b) { [this.heap[a], this.heap[..
https://www.acmicpc.net/problem/24524 24524번: 아름다운 문자열 첫째 줄과 둘째 줄에 영어 소문자로만 이루어진 문자열 $S$와 $T$가 각각 주어진다. $(1\leq \left|S \right|\leq 1\,000\,000;$ $1\leq \left|T \right|\leq 26;$ $\left|T \right|\leq \left|S \right|)$ $T$의 모든 문자는 서로 다 www.acmicpc.net //https://www.acmicpc.net/problem/24524 const [S, T] = require('fs').readFileSync('./dev/stdin').toString().trim().split('\n'); const A = new Array(..
https://www.acmicpc.net/problem/1394 1394번: 암호 첫 번째 줄에는 암호로 사용할 수 있는 문자가 공백 없이 주어지고, 두 번째 줄에는 컴퓨터의 암호가 주어진다. 암호에 사용할 수 있는 문자의 종류는 최대 100가지이고, 공백은 사용할 수 없다. www.acmicpc.net const [memo, crypto] = require('fs').readFileSync('./dev/stdin').toString().trim().split('\n'); const L = memo.length; let answer = 0; const indexMap = memo.split('').reduce((r, v, i) => { r[v] = i + 1; return r; }, {}); for (..
https://www.acmicpc.net/problem/2295 2295번: 세 수의 합 우리가 x번째 수, y번째 수, z번째 수를 더해서 k번째 수를 만들었다라고 하자. 위의 예제에서 2+3+5=10의 경우는 x, y, z, k가 차례로 1, 2, 3, 4가 되며, 최적해의 경우는 2, 3, 4, 5가 된다. k번째 수가 최 www.acmicpc.net let input = require('fs').readFileSync('./dev/stdin').toString().trim().split('\n').map(Number); const N = input.shift(); const xySet = new Set(); input = input.sort((a, b) => a - b); for (let i =..
https://www.acmicpc.net/problem/2015 2015번: 수들의 합 4 첫째 줄에 정수 N과 K가 주어진다. (1 ≤ N ≤ 200,000, |K| ≤ 2,000,000,000) N과 K 사이에는 빈칸이 하나 있다. 둘째 줄에는 배열 A를 이루는 N개의 정수가 빈 칸을 사이에 두고 A[1], A[2], ..., A[N]의 순서로 www.acmicpc.net const input = require('fs').readFileSync('./dev/stdin').toString().trim().split('\n'); const [N, K] = input[0].split(' ').map(Number); const nums = input[1].split(' '); const prefixSum ..
- Total
- Today
- Yesterday
- 최소공통조상
- MOD
- MySQL
- 면접질문
- 투포인터 연습
- 다이나밍프로그래밍
- 다이나믹프로그래밍
- BFS
- create databases;
- 개발자면접
- 롱베케이션
- 면접비
- 로드나인
- 투포인터
- 그래프
- 은둔청년체험
- create db
- 서버점검
- DB 생성
- node.js
- 동적프로그래밍
- 서버개발
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |