반응형 알고리즘5 필수 알고리즘 암기(자바스크립트) 1.이분 탐색 백준: 1920번 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net let fs = require('fs'); let filePath = process.platform === 'linux' ? '/dev/stdin': './input.txt' let input = fs.readFileSync(filePath).toString().split('\n'); const [N,A,M,B] = .. 2023. 10. 17. 스택(Stack) - 자바스크립트, JS class Stack { constructor() { this.items = []; } // 스택에 요소 추가 push(element) { this.items.push(element); } // 스택에서 가장 위의 요소 제거 후 반환 pop() { if (this.isEmpty()) { return "Stack is empty."; } return this.items.pop(); } // 스택의 가장 위의 요소 반환 (제거하지 않음) peek() { if (this.isEmpty()) { return "Stack is empty."; } return this.items[this.items.length - 1]; } // 스택이 비어있는지 여부 확인 isEmpty() { return this.items.l.. 2023. 7. 15. 격자판에서 최대값 구하기-JS, 자바스크립트 5X5 격자판에서, 가로,세로,대각선 합중에서 제일 큰 값을 구하시오function solution(arr){ let answer=Number.MIN_SAFE_INTEGER; let n=arr.length; let sum1=sum2=0; for(let i=0; in; i++){ sum1=sum2=0; for(let j=0; jn; j++){ sum1+=arr[i][j]; sum2+=arr[j][i]; } answer=Math.max(answer, sum1, sum2); } sum1=sum2=0; for(let i=0; in; i++){ sum1+=arr[i][i].. 2023. 6. 25. 퀵 정렬(quick Sort)/(pivot Sort) - 자바스크립트, JS function quickSort(arr){ if(arr.length 2023. 6. 13. 이진 탐색(Binary Search)-JS, 자바스크립트 -반복법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 function binarySearch(arr, target){ let leftIndex = 0; let rightIndex = arr.length - 1 while(leftIndex rightIndex){ return -1 } let middleIndex = Math.floor((leftIndex + rightIndex)/2) if (target === arr[middleIndex]){ return middleIndex; } if(target Big-O는 O(logn) 2023. 2. 5. 이전 1 다음 반응형