[BOJ][Python] 7569: 토마토
·
CS 지식/알고리즘
https://www.acmicpc.net/problem/7569 문제 정의이 문제는 결국 "최소 일수"를 구하는 것이다.BFS의 특성: 시작점에서 가까운 곳부터 차례대로 탐색하는 알고리즘적용: 익은 토마토들이 '동시에' 주변으로 퍼져나가는 모습은 BFS의 탐색과 일치한다. 가장 멀리 있는 토마토에 도달하는 시간이 곧 전체가 익는 최소 시간이 된다.알고리즘 설계3차원 공간 구현2차원 격자(N,M)에 높이(H)가 추가된 3중 리스트 구조를 이해해야한다. 인덱스 순서: graph[h][n][m] (높이, 세로, 가로) 순서로 접근하는 것이 실수를 줄이는 표준적인 방법이다.탐색 시작점 창고를 전체 탐색하여 익은 토마토(1)을 찾는다.발견된 모든 익은 토마토의 좌표를 동시에 큐에 넣는다 -> 처음부터 모든 시작..
[온디바이스 AI] 1편. sLM 모델 선정
·
카테고리 없음
내가 설계 중인 워크플로우 엔진은 사용자의 비정형 쿼리(예: "지난달 정산 내역 엑셀 읽어서 담당자들한테 메일 보내줘")를 분석하여, 시스템이 즉시 실행할 수 있는 액티비티 설계도(JSON)로 변환하는 것이다.문제 정의기존 시스템은 LLM API를 활용 중이었다. 여기에선 크게 3가지 문제점이 발생한다.비용의 휘발성보안 및 온디바이스 제약응답 속도(Latency)sLM(특정 도메인에 특화된 7B급 이하의 경량 모델)을 직접 파인튜닝하여 독립적인 엔진을 구축하려 한다.기존 플로우를 전부 온디바이스로 바꾸려면 여러 과정이 필요하지만 우선 자연어 쿼리 -> 워크플로우로 변환하는 sLM 모델부터 선정하려 한다.모델 선정 기준모델을 선정할 때 단순히 유명한, 최신의 모델이 아닌 워크플로우 분해 능력에 초점을 맞춘..
sLM 파인튜닝
·
AI & ML
보호되어 있는 글입니다.
책 리뷰: 객체지향의 사실과 오해
·
CS 지식/지식확장
1장: 협력하는 객체들의 공동체객체란?몸체도 객체 바퀴도 객체 핸들도 객체.. 객체가 모여서 객체를 만들고~..❌ 흔한 오해: 객체지향은 현실 세계의 모방이다객체지향의 핵심: 현실과 전혀 다른 새로운 세계를 창조하는 것잘못된 접근: 현실 세계의 사물이나 개념을 그대로 소프트웨어로 옮기려고 시도하는 것. 예를 들어, '실제 사람'의 모든 특징을 '사람 클래스'에 담으려고 하는 접근 방식이다.문제점: 현실은 매우 복잡하고 불필요한 속성들로 가득 차 있습니다. 소프트웨어는 특정 목적을 위해 필요한 특징만을 추출하고 단순화하여 새롭게 설계해야 한다. 클래스 하나 당 50라인을 넘기지 말라는 규칙이 있을 정도..!역할, 책임, 협력협력 (Collaboration)협력은 어떤 목표를 달성하기 위해 여러 객체들이 함..
[BOJ][Java] 11724: 연결 요소의 개수
·
코딩 테스트 & 문제 해결/코딩 테스트 연습
문제방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다.출력첫째 줄에 연결 요소의 개수를 출력한다. 풀이 과정방향 없는 그래프가 주어졌을 때, 분리된 그래프 덩어리 (연결 요소)가 총 몇 개인지 세는, 전형적인 그래프 탐색 문제이다.재귀 DFS를 통해 처음 문제를 접근했다.static void DFS(int v){ if (visited[v]) return; visited[v..
Try Everything2025 서포터즈 활동
·
기타/외부 활동
9월 11일-12일에 DDP에서 열린 Try Everything2025 행사에 서포터즈로 다녀왔다.Try Everything2025 Try Everything은 전 세계의 유망 스타트업과투자자, 액셀러레이터 등 창업 생태계의 핵심 주체들이 한자리에 모이는 대표적인 글로벌 스타트업 축제이다. 2025년 행사는 9월 11일부터 12일까지 이틀간 DDP에서 개최되었다. 슬로건 Dive Deep, Fly High는 급변하는 글로벌 정세 속에서 신기술, 트렌드 등 시장 상황을 깊이 있게 분석하고, 목표와 비전을 향해 비상하자는 의미를 담고 있다. 주요 프로그램으로는 국내외 유망 스타트업들의 기술과 서비스를 선보이는 전시 부스, 투자 유치를 위한 IR 피칭, 대기업·중견기업과의 협력을 모색하는 오픈 이노베이션, ..
[BOJ][Java] 16120: PPAP
·
코딩 테스트 & 문제 해결/코딩 테스트 연습
알고리즘 정리이 문제는 문자열 내 "PPAP" 패턴을 만나면 "P" 하나로 줄일 수 있다는 규칙에 따라,입력 문자열이 "PPAP문자열" 인지 판단하는 문제이다. 문제 접근 방식처음부터 문자열을 직접 PPAP → P 로 바꿔가는 건 문자열이 겹치거나 중첩되는 경우 복잡해진다.따라서 문자열을 왼쪽부터 순차적으로 스택에 쌓으면서 스택의 마지막 4글자가 PPAP 이면 그것을 "P"로 축약하는 방식을 선택했다. 주요 단계: 문자열 입력 받기한 글자씩 스택에 push스택 마지막 4글자가 "PPAP"이면 → pop 4번 → push 'P'반복마지막에 스택이 'P' 하나라면 → "PPAP" 문자열, 아니라면 "NP" import java.util.*;public class Main { public static..
Reverse Proxy
·
AWS & 클라우드 컴퓨팅
리버스 프록시(Reverse Proxy)란?리버스 프록시는 서버의 한 종류이다.클라이언트의 요청을 직접 백엔드 서버로 전달하지 않고 중간에 위치한 서버가 요청을 대신 받아 내부의 웹 서버(애플리케이션 서버)로 전달하며, 서버의 응답 역시 다시 클라이언트에게 전달하는 중개자 역할을 한다.대표적으로 Nginx, Apache, HAProxy 등이 리버스 프록시 서버로 널리 사용된다. 주요 특징과 역할중개자 역할클라이언트 ↔ 리버스 프록시 ↔ 내부의 실제 서버보안 강화실제 서버의 IP와 정보가 외부에 노출되지 않아 보안성이 높아짐SSL 인증서 관리, 접근 제어 등도 리버스 프록시 단계에서 처리 가능로드 밸런싱 (부하 분산)여러 대의 서버로 트래픽을 분산시켜 서버 부하를 줄이고, 서비스의 확장성과 안정성을 높일 ..