본문 바로가기

이분탐색5

[백준][이분탐색] 16434 드래곤 앤 던전 NodeJs 구현 목차https://www.acmicpc.net/problem/16434문제 코드 구현 방향NodeJs로 해줄 경우 범위로 인해서 bigint를 써주어야 한다....  구현 시 주의점bigInt는 정수끼리만 연산이 가능하다. 따라서 반올림 계산이 약간 다르다//반올림 구현let monsz = (monHp + attack - 1n) / attack;   코드 구현const input = require("fs") .readFileSync("./dev/stdin", "utf-8") .trim() .split("\n");let arr = [];let [N, curAtk] = input[0].trim().split(" ").map(BigInt);let lowHp = 1n;let highHp = 10000000.. 2024. 11. 12.
[백준][이분 탐색] 2467 용액 NodeJs 구현 목차https://www.acmicpc.net/problem/2467문제 문제 구현 방향범위를 보면 시간 복잡도를 줄이기 위해서 이분 탐색을 해야 한다.오랜만에 이분탐색을 해서 mid를 구해야 한다는 고정된 생각에서 벗어나지 않아 헤멨다..  코드 구현const input = require("fs") .readFileSync("./dev/stdin", "utf-8") .trim() .split("\n");let n = +input[0];let arr = input[1].trim().split(" ").map(Number);let left, right;let min = 2000000001;function binarySearch(str, end) { while (str 2024. 11. 3.
[백준][이분탐색] 2632 피자판매 c++구현 목차https://www.acmicpc.net/problem/2632문제 문제 구현 방향연속된 값을 더하는 것이므로 일단 누적합이 생각났다.경우의 수가 매우 많으므로 각각의 경우를 구한뒤 합치는게 효율적이라고 생각했다. 문제 풀이 시 아이디어 1. 원형 배열 직선 배열로 만들기22172 아래와 같이 배열을 한번 더 합치면 원형 배열 구간합 탐색이 가능하다.2217222172 단 시작점이 초기 배열 사이즈-1 인덱스에 오면 탐색을 멈추어야 중복을 막을 수 있다.사이즈가 초기 배열 사이즈만큼일때는 한번 탐색하고 중단해야한다.  2. 각 경우 곱해서 구하기만들어 질 수 있는 각각의 경우를 구해 준 뒤 곱해서 더해준다. for (int i = 0; i  코드 구현#include #include #inclu.. 2024. 8. 19.
[백준][이진 트리][이분 탐색] 9934 완전 이진 트리 목차https://www.acmicpc.net/problem/9934문제 문제 구현 방향중위 순회가 무엇인지 알면 쉽게 풀 수 있는 문제이다.start 와 end를 통해서 인자를 전달하고 mid를 통해서 탐색해주면 되는 이분 탐색을 이용한다.  혹시나 모른다면 참고https://be-senior-developer.tistory.com/17 [이진트리] 기본 c++구현 및 이진 트리 순회 설명(전위,중위,후위)목차 이진트리의 정의 각각의 노드가 최대 두 개의 자식 노드를 가지는 트리 자료 구조를 말한다. 이미지출처: https://towardsdatascience.com/8-useful-tree-data-structures-worth-knowing-8532c7231e8c 노드: 트리의 구be-senior-.. 2024. 7. 1.
728x90