전체 글105 백준 (6198) 옥상 정원 꾸미기 - Java 풀이 🔍문제 설명N개의 빌딩이 왼쪽에서 오른쪽으로 일렬로 서 있다.각 빌딩은 자기보다 오른쪽에 있는 빌딩들만 볼 수 있다. 단, 어떤 빌딩이 볼 수 있는 빌딩은 다음 조건 을 만족해야 한다.자기보다 높이가 낮은 빌딩만 볼 수 있다.자기보다 높거나 같은 빌딩을 만나면, 그 뒤의 빌딩들은 모두 가려져서 볼 수 없다.모든 빌딩이 볼 수 있는 빌딩의 개수 총합을 구하는 문제이다. 📥입력첫째 줄에 빌딩의 개수 (1 ≤ N ≤ 80,000)둘째 줄부터 N개의 줄에 걸쳐 각 빌딩의 높이 h (1 ≤ N ≤ 1,000,000,000) 📤출력모든 빌딩이 볼 수 있는 빌딩 수의 총합을 출력한다. 💡문제 풀이 아이디어핵심 전략은 스택(Stack), 정확히는 모노톤 감소 스택이다. 기본 관찰어떤 빌딩은 자기보다 낮은.. 2026. 1. 14. 수식 계산 기능 구현 🧮 수식 (Formula) 기능 시스템 아키텍처 📋 목차시스템 개요시스템 아키텍처파일 구조주요 컴포넌트 상세 분석데이터 흐름핵심 코드 분석실제 동작 예시 🧷 시스템 개요이 시스템은 expr-eval 라이브러리를 활용하여 동적 수식 계산 기능을 제공합니다. 센서 데이터나 설비 스펙 값을 변수로 사용하여 수식을 정의하고, 실시간으로 계산 결과를 얻을 수 있습니다. ✨ 주요 기능✅ 수식 정의 및 관리 (생성/수정/삭제)✅ 변수 정의 및 동적 해석 (센서 데이터, 설비 스펙 등 필요한 함수를 추가해서 사용 가능)✅ 수식 매핑을 통한 매트릭 코드 연결✅ 다중 디바이스 지원 및 결과 집계 (avg/sum/max/min)✅ 동적 함수 호출을 통한 확장 가능한 변수 해석✅ Fallback 값 지원으로 안정적.. 2025. 12. 2. Scheduler 구현 시스템 아키텍처[클라이언트] ↓ socket.io 연결[Socket Handler] ← 호출 처리 ↓[Subscription Service] ← 위젯 구독 요청 ↓[Scheduler Controller] ← 스케줄 관리 ↓[Scheduler Service] ← 실제 스케줄러 ↓[Format Data Service] ← 데이터 가져오기 ↓[Model] ← DB 조회 ↓[Socket Emit] ← 클라이언트로 전송 파일 구조src/├── services/│ ├── schedulerService.ts ⭐ 핵심: 스케줄러 엔진│ ├── formatDataService.ts 📊 데이터 포맷팅│ └── sessionService.ts .. 2025. 10. 30. 백준 (2839) 설탕 배달 - Java 풀이 🔍 문제 설명N kg의 설탈을 배달해야 한다. 설탕 봉지는 3 kg, 5 kg 두 종류만 있으며, 가장 적은 개수의 봉지로 N kg을 정확히 만들고자 한다.정확히 나눌 수 없으면 -1 을 출력한다. 📥 입력첫째 줄에 정수 N (3 ≤ N ≤ 5000) 📤 출력N kg을 정확히 만들기 위한 봉지의 최소 개수만들 수 없으면 -1 💡 문제 풀이 아이디어핵심 전략은 그리디(Greedy)5 kg 봉지를 최대로 사용하려고 시도한다. (봉지 수를 최소화하려면 큰 봉지 위주가 유리)N이 5로 나누어떨어지지 않으면 3 kg 하나를 추가(즉, N에서 3을 빼기)하고 다시 5로 나누어떨어지는지 확인한다.위 과정을 반복하다가 N이 음수가 되면 정확하게 만들 수 없음 → -1.왜 그리디가 맞나?5kg 봉지는.. 2025. 10. 22. 백준 (14916) 거스름돈 - Java 풀이 🔍 문제 설명동전의 종류가 2원 , 5원 두 가지일 때, 금액 N 원을 동전 개수가 최소가 되도록 만들어야 합니다.만들 수 없으면 -1 을 출력합니다. 📥 입력첫째 줄에 정수 N (1 ≤ N ≤ 100,000) 이 주어집니다. 📤 출력만들 수 있으면 사용한 동전의 최소 개수만들 수 었으면 -1 을 출력합니다. 💡 문제 풀이 아이디어 (Step-by-step)가능하면 5원을 최대한 많이 쓰는 것이 유리합니다. (큰 동전을 우선 사용 → 개수 최소화) i = [N/5] 부터 0까지 줄여가며, 남은 금액 left = N - 5*i 가 짝수(2로 나누어 떨어짐) 인지 체크합니다.짝수라면 left/2 개의 2원 동전으로 채울 수 있으므로, 총 동전의 수는 i + left/.. 2025. 10. 21. 백준 (4949) 균형잡힌 세상 - Java 풀이 🔍 문제 설명문장을 읽어들여, 그 믄장 속의 괄호들이 균형을 이루는지 판단하는 문제입니다.소괄호 ( ) 와 대괄호 [ ] 가 등장하며,올바르게 닫혀야 "균형잡힌 세상" 으로 판정합니다. 마지막 입력은 마침표( . ) 하나이며, 이 줄이 나오면 입력을 종료합니다. 📥 입력각 줄에 문자열이 주어집니다.괄호 외에도 영문자, 공백 등이 포함될 수 있습니다.입력의 끝은 "."(마침표) 한 줄입니다.예시So when I die (the [first] I will see in (heaven)) is a score list.[ first in ] ( first out ).Half Moon tonight (At least it is better than no Moon at all].A rope may for.. 2025. 10. 20. 이전 1 2 3 4 ··· 18 다음