전체 글 37

[Do it! 알고리즘 코딩 테스트 자바] 2주차. 정렬과 탐색

이번 주차는 지난주부터 나왔던 기본 정렬과 탐색 알고리즘에 대해 공부하는 주차다.주요 알고리즘은삽입 정렬, 퀵 정렬, 병합 정렬, 기수 정렬DFS, BFS백트래킹이진 탐색 [6일차] 삽입 정렬: 선택된 데이터를 현재 정렬된 데이터 범위 내에서 적절 위치에 삽입하는 것평균 시간 복잡도 : O(N^2)- 과정 현재 인덱스의 데이터 값 선택선택한 데이터가 정렬된 데이터 범위에 삽입될 위치 탐색 → O(N) 소요 삽입 위치부터 인덱스에 있는 위치까지 shift 연산 수행삽입 위치에 현재 선택한 데이터 삽입 후 인덱스++ 연산선택할 데이터가 없을 때까지 반복 → O(N) 소요예제문제- 백준 11399번 : ATM 인출 시간 계산하기 (실버3) 퀵 정렬: 기준값(pivot)을 선정하여 해당 값보다 작은 데이터와 ..

[Do it! 알고리즘 코딩 테스트 자바] 1주차. 시간복잡도와 기초 자료구조 및 알고리즘

이지스 퍼블리싱 주최 알고리즘 코딩테스트 스터디 (알코테)기간 : 2026/02/23 - 2026/04/05 (6주)1주차 학습 내용 : 시간 복잡도와 기초 자료구조, 알고리즘 Do it! 알고리즘 코딩 테스트: 자바 편 | 김종관 - 교보문고Do it! 알고리즘 코딩 테스트: 자바 편 | IT 기업 취준생의 필독서가 3년 만에 업그레이드해서 돌아왔다! 출제 경향을 완벽하게 반영한 문제로 코딩 테스트 한 번에 합격하자!‘코딩 테스트는 어떻product.kyobobook.co.kr [1일차]페이지 : 17-29p 시간복잡도 정의: 시간 복잡도는 세개의 유형으로 나눌 수 있다.빅-오메가 Ω(n) : 최선일 때의 연산 횟수를 나타낸 표기법빅-세타 Θ(n) : 보통일 때의 연산 횟수를 나타낸 표기법빅-..

[2025 캡스톤 디자인] AI 기반 지능형 식재료 관리 솔루션

1. 프로젝트 개요기간: 2025.01 ~ 2025.06 (경남대학교 졸업작품)배경: 1인 가구 및 맞벌이 가구 증가에 따른 식재료 관리의 어려움 해결 (중복 구매 방지 및 식품 폐기물 감소)목표: AI 자동 인식을 통한 실시간 재고 관리 및 사용자 맞춤형 식습관 형성 보조역할: 프로젝트 총괄, AI 모델 개발 및 앱 기능 연동2. 시스템 아키텍처 및 기술 스택아키텍처Edge (Raspberry Pi): 실시간 영상 캡처 및 ZMQ를 통한 프레임 전송AI Module (PC): YOLOv11(객체 탐지) + LSTM(행동 인식) 추론Backend (FastAPI): 비동기 데이터 처리, API Gateway, 알림/레시피 로직Cloud (Firebase): Firestore(재고 DB), Auth(인증)..

Project 2026.01.15

[2024년 하계 일머리 사관학교 대상] 센서 기반 자율주행 RC카 제어

1. 프로젝트 개요주제: 자율주행 자동차 제어 프로젝트를 통한 일머리 역량 강화 장비: 아두이노 메가, 자율주행 키트, 각종 센서(초음파, 적외선, IR) 및 모터류 핵심 목표: 3대 핵심 기능(장애물 회피, 라인 트레이싱, 리모컨 제어)의 성공적 구현 및 주행 안정성 확보2. 주요 구현 기능장애물 회피: 초음파 센서와 서보 모터를 결합하여 전방 180도 측정 후 경로 결정 라인 트레이싱: 적외선 센서로 바닥 라인을 감지하여 정해진 경로를 따라 주행 리모컨 제어: IR 센서를 이용해 차량 이동 및 투석기 적재/발사 기능 제어3. PDCA 기반 품질 향상 및 문제 해결단순 구현을 넘어 PDCA(Plan-Do-Check-Act) 사이클을 적용하여 시스템의 완성도를 높임. [CHECK] 문제점 발견: 초기 테..

Project 2026.01.13

[Git/Github] 1. 기본 : 버전 관리와 Git의 기본 명령어

버전 관리란?Git은 여러 파일들을 관리할 때, 각 파일들의 버전들을 추적하여 변경 이력들을 체계적으로 관리할 수 있게 제공하는 버전 관리 시스템(VCS)이다.Git은 변경 이력 추적, 자유로운 버전 이동으로 크게 두 가지 기능을 제공한다고 볼 수 있다.Git에서는 하나의 의미 있는 작업 단위를 저장하는 것을 ‘커밋(Commit)’ 이라고 한다. → 즉 수정사항이 반영된 새로운 버전의 파일을 기록한다고 보면 됨프로젝트를 진행하면서 변경 이력들을 관리하고 추적할 때, 혼란스럽지 않도록 해당 커밋마다 추가 정보들을 함께 명시하여 저장한다.커밋 메시지(Message) : 작업 내용 (ex. ‘로그인 기능 추가’, ‘DB 인덱싱 버그 픽스’ 등)작성자(Author) : 누가 변경했는지 (ex. Kim Chang..

Etc/Git 2025.10.16

[OpenCV] YOLO 탐지 성능 향상을 위한 입력 이미지 전처리

사용자의 손과 식품들을 탐지하여 사용자의 행동 (음식을 들고 냉장고에 넣기, 음식을 냉장고에서 빼기, 음식 넣고 다른 음식 빼기)을 인식하여 자동으로 냉장고 관리 앱에 등록되는 기능을 개발하면서 발생한 어려움, 한계점들을 해결하는 과정에 대해 설명하는 시간을 가져보려 한다. 기존 모델은 Yolov11n, LSTM, Mediapipe를 통해 연계하여 객체 탐지, 동작 인식을 모두 수행했다. 학습 데이터 셋은 Yolo 모델은 식품 당 1,000장 총 23종 식품으로 약 23,000장의 식품 이미지로 학습했다.LSTM은 좌표값을 직접 Excel파일로 입력하여 손, 객체 좌표의 이동을 프레임마다 기록하는 형식으로 직접 생성하여 학습했다. 기존 YOLO 모델의 한계점은 조명 변화에 취약하고 이에 따라 다른 클래스..

[백준] 2580: 스도쿠

이번 문제는 백준 난이도 골드4인 '스도쿠' 문제이다. 우선 문제에 대해 먼저 설명을 하면 우리가 흔히 아는 스도쿠의 개념을 그대로 프로그래밍에 적용하는 건데직접 좌표를 입력해서 좌표 내에 숫자가 0인 좌표가 빈칸이라고 생각하면 된다. 문제를 풀기 전에 스도쿠의 조건을 한번 정리해보자면가로줄에 중복되는 숫자가 없어야 한다.세로줄에 중복되는 숫자가 없어야 한다.3x3 크기의 보드에 중복되는 숫자가 없어야 한다. → 위 조건을 만족하면서 1~9까지의 숫자를 채우면 된다. [Python] 일단 직관적으로 생각해서 접근해보게 되면.스도쿠의 전체 보드를 탐색하면서 0인 좌표를 찾고, 해당 좌표에 1~9까지 숫자를 대입해보며 넣을 수 있는 숫자를 찾으면 된다. 그럼 지금 내가 말한 방식으로라면for x for..

Algorithm/백준 2025.09.17