전체 글 38

Do it! 알고리즘 코딩 테스트 C++편 스터디 완료 후기

11월을 마지막으로 Do it! 알고리즘 코딩 테스트 C++편 스터디가 전 회차 모두 종료되었다. 기존에는 Java로 알고리즘을 공부해 왔고 C++도 사용한 경험이 있었지만, 이번 스터디를 통해 “문제를 C++로 구현해내는 과정”을 집중적으로 다뤄볼 수 있었다.스터디를 통해 얻은 점책에는 실수하기 쉬운 포인트들이 잘 정리되어 있는데, 실제로 내가 자주 놓치던 부분과 거의 일치했다. 반복적으로 문제를 풀다 보니 자주 틀리는 패턴이 자연스럽게 잡히고, 예제가 풍부해 실수한 부분을 바로 복습하기 좋은 구조였다.또 문제를 단순히 해결하는 데 그치지 않고, 알고리즘 선택의 이유를 서로 설명하는 과정에서 사고가 더 깊어졌다. 다른 방식의 풀이를 비교해보며 “내가 왜 이 방식으로 생각했는지”를 돌아볼 수 있었던 점도..

Do it! 알고리즘 코딩 테스트 C++편 스터디

이번 학기에는 Do it! 알고리즘 코딩 테스트 C++편을 활용해 알고리즘 스터디를 진행하고 있다. 정렬과 재귀, 구현 문제 위주로 기초를 다져왔고, 이후에는 탐색(BFS/DFS)과 동적 계획법(DP) 등을 중심으로 난이도를 점차 높여가는 방식으로 학습을 이어가고 있다.C++로 처음 진행한 알고리즘 학습 경험C++ 문법을 완전히 모르는 상태는 아니었지만, 알고리즘 문제를 본격적으로 C++로 풀어본 건 처음이었다. 문제를 풀면서 자연스럽게 문법 요소가 반복되고, 스스로 놓쳤던 기초 문법까지 다시 정리하게 되었다.자료구조는 기본적인 개념들을 어느 정도 알고 있던 덕분에 흐름을 따라가기가 어렵지 않았다. 예제를 중심으로 구성된 책의 특성상 문제 접근 방식이 머릿속에 쉽게 자리 잡았고, 언어 문법과 알고리즘 패..

[36 일차] ABC 부트캠프 : 최종 프로젝트(6)

Flutter 코드는 자폐 조기진단을 위한 앱의 주요 흐름을 구현한 것입니다. 앱은 사용자가 개인정보를 입력하고, 설문조사를 완료한 후, 이미지나 영상을 업로드하여 자폐 스펙트럼 장애를 조기진단하는 기능을 제공합니다. 이 앱은 여러 화면을 통해 사용자의 정보를 수집하고 진단 결과를 제공하는 기능을 가지고 있습니다. import 'package:flutter/material.dart';import 'package:file_picker/file_picker.dart'; // file_picker 패키지 임포트import 'package:http/http.dart' as http;import 'dart:convert';import 'package:flutter/material.dart';void main() ..

[35 일차] ABC 부트캠프 : 최종 프로젝트(5)

모델 예측 통합과 PDF 보고서 생성이미지 분류 모델과 설문 데이터를 기반으로 한 모델의 예측 결과를 통합 모델 예측 통합각각의 모델을 통해 얻은 예측 결과를 통합하여 최종 진단 결과를 도출합니다. # Example usage# 이미지 모델 예측image_path = "/content/어린 태윤.jpg" # 사용자가 업로드한 이미지 경로image_probability = predict_image_model(image_path)# 설문 모델 학습 및 예측survey_train_csv = "/content/train.csv"lgb_model, scaler, label_encoders, feature_names = train_survey_model(survey_train_csv)survey_input_dat..

[34 일차] ABC 부트캠프 : 최종 프로젝트(4)

설문 데이터 처리와 LightGBM 모델 설정 이미지 데이터 처리우선, 학습에 사용할 이미지 데이터의 경로를 설정하고, 해당 이미지를 불러와 데이터프레임으로 정리합니다. # 이미지 경로 설정train_dir = '/content/sample_data/train'test_dir = '/content/sample_data/test'valid_dir = '/content/sample_data/valid'# train 폴더와 test 폴더의 이미지 파일 리스트를 불러와 데이터프레임으로 정리train_images = os.listdir(train_dir)test_images = os.listdir(test_dir)# 이미지 파일 이름에 따라 클래스 할당 (Autistic 또는 Non_Autistic)train_d..

[33 일차] ABC 부트캠프 : 최종 프로젝트(3)

이미지 데이터 처리와 CNN 모델 설정 데이터셋 압축 해제먼저, 자폐스펙트럼 진단을 위한 이미지 데이터셋을 압축 해제해야 합니다. 아래 코드는 압축 파일을 특정 폴더에 풀고, 그 폴더 내 파일 구조를 확인합니다. # 압축 파일 경로 (예시로 'dataset.zip' 파일 경로)zip_file_path = '/content/AutismDataset.zip'# 압축을 풀 폴더 경로 (예시로 'dataset' 폴더에 압축을 풉니다)extract_dir = '/content/sample_data'# 압축 파일 열기with zipfile.ZipFile(zip_file_path, 'r') as zip_ref: zip_ref.extractall(extract_dir)# 압축 해제 후 폴더 구조 확인 (옵션)os..

[32일차] ABC 부트캠프 : 최종프로젝트 (2)

TensorFlow와 Keras로 자폐스펙트럼 조기진단을 위한 환경 설정 필요한 라이브러리 임포트모델 구현을 위해 Python의 다양한 라이브러리를 사용할 것입니다. 여기서는 TensorFlow와 Keras를 중심으로 이미지를 처리하고, scikit-learn을 통해 모델 성능을 평가하며, ReportLab을 사용해 예측 결과를 PDF로 저장할 것입니다. import tensorflow as tffrom tensorflow.keras.models import load_modelfrom tensorflow.keras.preprocessing.image import ImageDataGeneratorimport numpy as npimport pandas as pdfrom sklearn.metrics impo..

[31 일차] ABC 부트캠프 : 최종 프로젝트(1)

오늘은 가정에서 사용할 수 있는 소아 자폐스펙트럼 조기진단 모델을 구현하기 위한 프로젝트의 첫 번째 날이었습니다. 프로젝트의 성공적인 진행을 위해 주제 선정부터 역할 분담, 자료 조사까지의 초기 단계를 밟았습니다. 간단하게 오늘의 진행 상황을 공유하겠습니다. 주제 선정: 가정용 소아 자폐스펙트럼 조기진단 모델 구현프로젝트의 출발점은 명확한 주제를 선정하는 것이었습니다. 자폐스펙트럼장애(ASD)는 조기 발견이 중요한데, 현재의 진단 방법은 전문가의 도움 없이 가정에서 활용하기 어렵다는 문제가 있습니다. 이에 따라, 가정에서도 부모들이 손쉽게 사용할 수 있는 자폐스펙트럼 조기진단 모델을 구현하는 것을 이번 프로젝트의 주제로 선정했습니다. 이 주제는 사회적으로 큰 가치를 지니고 있을 뿐만 아니라, 기술적으로도..

[30 일차] ABC 부트캠프: ls 프로젝트

파워포인트 작성요령1. 특별한 인용문 이외에는 파워포인트에 가능한 한 전문을 넣지 말 것2. 한 페이지에 7개 내지 9개의 문구가 적당함3. 뒤에 앉은 사람도 보일정도의 폰트크기를 쓸 것4. 한 화면에서 색깔은 세 가지 이상 쓰지 말 것5. 빨강색이나 검은색 바탕화면은 가급적 피할 것6. 보색을 쓸 때는 조명을 고려하여 잘 보이도록 할 것7. 화면을 너무 혼란하게 꾸미지 말 것8. 화면을 반복하여 전후로 이동하는 일이 없도록 화면의 논리적 순서를 잘 배열할 것9. 청중이 화면을 너무 오래 주시하지 않도록 키워드 중심으로 작성(청중은 발표자의 말에 귀를 기울이게 해야)10. 파워포인트를 쓰지 않고도 효과적으로 전달할 수 있는 방법을 최대한 찾아볼 것 발표요령1. 원고나 노트를 절대로 읽지 말 것2. 원고 ..

[29 일차] ABC 부트캠프 : 기술나눔활동(데이터 라벨링)

1. Bounding Box (바운딩 박스)Bounding Box는 이미지 속 객체를 네모 박스로 감싸는 작업을 의미합니다. 예를 들어, 고양이 사진이 있다면, 고양이의 위치를 사각형 박스로 표시합니다. 이는 객체 검출(object detection) 모델에서 주로 사용됩니다. 이 작업을 통해 모델은 이미지 내에서 객체의 위치를 인식하고 해당 객체를 식별할 수 있습니다.2. Segmentation (세그멘테이션)Segmentation은 이미지 속 객체의 윤곽을 따라 선을 그려주는 작업입니다. 이는 바운딩 박스보다 더 정밀하게 객체의 형태를 나타낼 수 있습니다. Segmentation 작업을 통해 모델은 객체의 정확한 모양과 경계를 이해하게 됩니다. 예를 들어, 사람의 실루엣을 따라 선을 그리면, 모델은 ..