[바미] K번째 수
·
하루 알고리즘(JS)
문제https://www.acmicpc.net/problem/1300코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const N = parseInt(input[0]);const k = parseInt(input[1]);function countLessOrEqual(x) { let count = 0; for (let i = 1; i = k) { result = mid; high = mid - 1; } else { low = mid + 1; } } return result..
[바미] 공유기 설치
·
하루 알고리즘(JS)
문제https://www.acmicpc.net/status?user_id=ckdqja135&problem_id=2110&from_mine=1코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [N, C] = input[0].split(' ').map(Number);const houses = input.slice(1).map(Number);houses.sort((a, b) => a - b);function canPlaceRouters(distance) { let count = 1; let lastPlaced = houses[0]; for (let..
[바미] 나무 자르기
·
하루 알고리즘(JS)
문제 https://www.acmicpc.net/problem/2805코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [N, M] = input[0].split(' ').map(Number);const trees = input[1].split(' ').map(Number);function getMaxSawHeight(N, M, trees) { let low = 0; let high = Math.max(...trees); let result = 0; while (low { if (height > mid) { ..
[바미] 자료구조 - 해시맵(HashMap)
·
프로그래밍(Basic)/이론
해시맵(HashMap)?키-값(Key-Value) 쌍을 저장하는 자료구조입니다. 빠른 검색, 삽입, 삭제를 가능하게 하며, 데이터의 중복을 허용하지 않는 특징이 있죠. 해시맵은 해시 함수(Hash Function)를 사용하여 키를 해시 코드(Hash Code)로 변환하고, 이를 배열 인덱스로 사용하여 값을 저장합니다.해시맵의 주요 특징키-값 쌍 저장해시맵은 키와 값의 쌍으로 데이터를 저장합니다. 각 키는 고유하며, 키를 통해 해당 값을 빠르게 검색할 수 있습니다.해시 함수해시맵은 해시 함수를 사용하여 키를 해시 코드로 변환하고, 이 해시 코드를 배열의 인덱스로 사용하여 값을 저장합니다. 해시 함수는 입력 값(키)을 고정된 크기의 해시 코드로 변환하는 함수입니다.빠른 검색 해시맵은 일반적으로 O(1)의 시..
[바미] 자료구조 - 트리(Tree)
·
프로그래밍(Basic)/이론
트리(Tree)?계층적인 구조를 나타내는 자료구조입니다. 트리는 루트 노드(root node)에서 시작하여 각 노드가 0개 이상의 자식 노드(child node)를 가지며, 자식 노드들도 다시 트리 구조를 형성하는 형태로 이루어져 있습니다.트리의 구조루트 노드(root node): 부모가 없는 최상위 노드. 트리는 하나의 루트 노드만을 가집니다.단말 노드(leaf node): 자식 노드가 없는 노드. '말단 노드' 또는 '잎 노드'라고도 부릅니다.내부 노드(internal node): 단말 노드가 아닌 노드를 의미합니다.간선(edge): 노드 간을 연결하는 선으로, 링크(link) 또는 브랜치(branch)라고도 부릅니다.형제 노드(sibling): 같은 부모를 가지는 노드들을 의미합니다.노드의 크기(s..
[바미] 왕의 재정 2
·
이것저것/책 후기
조금 오래전부터 김미진 간사님의 왕의 재정 시리즈를 구매한 상태에서 왕의 재정1을 읽고 이제야 왕의 재정2를 읽게 되었다.  책의 서두부터 성경적 원칙을 바탕으로 우리의 재정 문제를 어떻게 해결할 수 있는지, 재정의 원칙과 하나님께서 우리에게 주신 청지기 사명을 설명을 하고 있다. 나는 이 책을 통해 단순히 재정적인 성공을 이루는 방법을 배우는 것이 아니라, 하나님 안에서 올바른 재정관을 세우는 법을 배우고 싶었다. 물론 내가 돈을 너무 헤프게 쓰는 편은 아니지만 말이다. 이 책 안에 써 있는 많은 간증들이 내 가슴을 뛰게 했다. 물론 이 책 간증에 있는 사람들처럼 무지막지한 빚은 없었지만 그 빚을 이겨내기 위해 씀씀이를 어떻게 해야 하고, 소비습관을 어떻게 해야 하는 지가 평소 내 습관이랑 비슷해서 나..
[바미] 아브라함 카이퍼의 "영적주권"을 읽고
·
이것저것/책 후기
친한 사역자로부터 '영적주권'이라는 책을 추천받아 빌려받게 되었다.  '영적 주권'이라는 개념은 일상적인 삶에서 자주 접하는 주제가 아니였기 때문에 한 페이지를 넘길 때마다 카이퍼가 전하고자 하는 메세지가 굉장히 흥미로웠다. 카이퍼의 서문은 마치 오랜 친구가 다정하게 건네는 인사말처럼 따뜻했다. 카이퍼는 신앙이 단순히 개인적인 영역에 머무르지 않고, 우리의 삶 전반에 어떻게 깊숙이 스며들어야 하는지 설명하고 있는데 그것을 통해 신앙과 삶의 조화, 그리고 하나님 앞에서의 개인의 주권에 대해 깊이 생각해보는 시간을 가지게 되었다. 내용을 요약하자면 카이퍼는 '영적주권'에서 세속적 삶과 신앙적 삶이 분리될 수 없음을 강조하고 있다. 그는 모든 삶의 영역이 하나님의 주권 아래 있다고 주장하며, 우리가 일상에서 ..
[바미] 랜선 자르기
·
하루 알고리즘(JS)
문제https://www.acmicpc.net/problem/1654 코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [K, N] = input[0].split(' ').map(Number);const lengths = input.slice(1).map(Number);function getMaxLanCableLength(K, N, lengths) { let low = 1; let high = Math.max(...lengths); let result = 0; while (low acc + Math.floor(len / mid), 0); ..
[바미] 수 찾기
·
하루 알고리즘(JS)
문제 https://www.acmicpc.net/problem/1920 코드const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const N = parseInt(input[0]);const A = input[1].split(' ').map(Number);const M = parseInt(input[2]);const queries = input[3].split(' ').map(Number);// 배열 A를 해시셋으로 변환const set = new Set(A);// 각 쿼리에 대해 결과 출력const results = queries.map(query => set.has(query) ..
Bami
기록하며 성장하기