240226 회사가서근처에서마라탕먹고서브웨이에서쿠키도사먹고메머드커피에서커피도사먹고blender로옷만들다가?영화보러갔다저번에친구들이랑훠궈먹고시민복희(라미란나오는걸캅스2)봤었다그때사실건국전쟁보려고했는데심야에상영하는게걸캅스2밖에볼게없어서어쩔수없이봤었다아무튼그때못본건국전쟁봤다노인네들이랑자식교육하러온기독교가족들이있었다.나는재밌게봤다.유투부보니까그의공과과에대한논란이많은것을보니그는자유민주주의국가를만드는것에성공했다. 240227 새벽에유투부로세그먼트트리영상보고잤다.세그먼트트리를좀아니까쉽게풀수있는문제들이많다.좀더공부해서더어려운문제에도전해야겠다.
https://www.acmicpc.net/problem/2268 2268번: 수들의 합 7 첫째 줄에는 N(1 ≤ N ≤ 1,000,000), M(1 ≤ M ≤ 1,000,000)이 주어진다. M은 수행한 명령의 개수이며 다음 M개의 줄에는 수행한 순서대로 함수의 목록이 주어진다. 첫 번째 숫자는 어느 함수를 사용했는 www.acmicpc.net //https://www.acmicpc.net/problem/2268 // 수들의 합 7 // 비재귀 세그먼트 트리 구현 class NonRecursiveSegmentTree { constructor(N) { this.n = 2 ** Math.ceil(Math.log2(N)); this.tree = new Array(2 * this.n).fill(BigInt(..
https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 습관적으로 입력값을 Number형으로 바꾸고 시작해서 엄청 틀렸다. 트리 안에서만 BigInt 처리했는데,, 입력값에도 큰 수가 들어올 수 있기 때문에 입력받을 때부터 신경써줘야 한다. 트리에 값을 넣을 때부터. 입력값을 처리할 때 String을 Number로 바꾸는 로직을 빼니까 해결되었다. //https://www.acmicpc.net..
https://www.acmicpc.net/problem/14438 14438번: 수열과 쿼리 17 길이가 N인 수열 A1, A2, ..., AN이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오. 1 i v : Ai를 v로 바꾼다. (1 ≤ i ≤ N, 1 ≤ v ≤ 109) 2 i j : Ai, Ai+1, ..., Aj에서 크기가 가장 작은 값을 www.acmicpc.net //https://www.acmicpc.net/problem/14438 // 수열과 쿼리 17 // 비재귀 세그먼트 트리 구현 class NonRecursiveSegmentTree { constructor(inputArray) { // build const inputArrayLength = inputArray.leng..
https://www.acmicpc.net/problem/1275 1275번: 커피숍2 첫째 줄에 수의 개수 N과 턴의 개수 Q가 주어진다.(1 ≤ N, Q ≤ 100,000) 둘째 줄에는 처음 배열에 들어가 있는 정수 N개가 주어진다. 세 번째 줄에서 Q+2번째 줄까지는 x y a b의 형식으로 x~y까지의 합 www.acmicpc.net //https://www.acmicpc.net/problem/1275 // 커피숍2 // 비재귀 세그먼트 트리 구현 class NonRecursiveSegmentTree { constructor(inputArray) { // build const inputArrayLength = inputArray.length; this.n = 2 ** Math.ceil(Math.l..
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..
- Total
- Today
- Yesterday
- DB 생성
- create db
- 그래프
- 로드나인
- 다이나믹프로그래밍
- 투포인터 연습
- 다이나밍프로그래밍
- 은둔청년체험
- BFS
- 면접비
- 서버개발
- create databases;
- 동적프로그래밍
- 최소공통조상
- 투포인터
- node.js
- 면접질문
- 롱베케이션
- 서버점검
- MySQL
- 개발자면접
- MOD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |