Python 14

[Java/Python] 타입 확인 및 replace

타입 확인1. 핵심 요약 비교표 구분 파이썬 (Python) 자바 (Java) 변수 타입 확인isinstance(x, int)x instanceof Integer엄격한 타입 비교type(x) == intx.getClass() == Integer.class문자열 내 숫자 판별s.isdigit()s.matches("\\\\d+") (정규식)주요 특징내장 메서드가 풍부함정규식이나 예외 처리를 주로 사용2. 언어별 상세 코드 (조건문 예시)🐍 파이썬 (Python)파이썬은 문자열 객체 안에 자체적인 판별 메서드가 내장되어 있어 매우 편리합니다.변수의 타입 자체를 확인data = 10 if isinstance(data, int): print("이 변수는 숫자형입니다.")문자열 내용물이 숫자인지 확인 (isd..

CODINGTEST 2026.05.08

[코딩테스트] 현대오토 2026-04-05 회고

1. 탐색 문제""" N x M 크기의 격자판에 1부터 N x M까지의 숫자가 순서대로 적혀 있습니다. 당신은 1번 칸에서 출발하여 주어진 targets 리스트에 포함된 모든 숫자를 한 번씩 방문해야 합니다. 숫자를 방문하는 순서는 상관없으며, 이미 지나간 칸을 다시 지나가거나 이미 방문한 숫자를 다시 밟는 것도 허용됩니다. 격자판의 상하좌우로 한 칸 이동하는 데 거리가 1일 때, 모든 targets를 방문하고 멈추는 최단 거리를 구하세요. 입력 예시: m=5, n=2, targets=[1, 5, 8]출력 예시: 6"""from collections import dequedef solve(m, n, targets): # -----------------------------..

CODINGTEST 2026.04.05

[Python] Elasticsearch 클라이언트 분석 및 검색 개념 정리 - Searchive 프로젝트

1. 엘라스틱서치 핵심 쿼리 개념 (Query DSL)엘라스틱서치에서 bool 쿼리는 여러 조건을 조합할 때 사용하며, 4가지 핵심 인자를 가집니다.예시 코드 (쇼핑몰 검색 시나리오)"삼성 노트북 중에서 100만원 이하이거나 리뷰 점수가 높은 상품을 검색 (단, 품절 상품은 제외)"{ "query": { "bool": { "must": [ { "match": { "name": "삼성" } } ], "filter": [ { "range": { "price": { "lte": 1000000 } } }, { "term": { "status": "on_sale" } } ], "should": [ { "match..

PYTHON 2026.03.28

[백준(Python)] while - else, for - else 문

핵심 원리: break를 만나면 else는 실행되지 않음1. while - else 문조건식이 False가 되어 반복문이 정상적으로 종료될 때 else 블록이 실행사용 예시: 설탕 배달 문제 (정확한 봉지 구성 찾기)n = int(input()) # 예: 7count = 0while n >= 0: if n % 5 == 0: print(count + n // 5) break # 2. for - else 문리스트나 범위(range)를 끝까지 다 훑었을 때 else 블록이 실행사용 예시: 소수(Prime Number) 판별num = 13for i in range(2, num): if num % i == 0: print(f"{num}은(는) 소수가 아닙니다.")..

BACKJOON 2026.03.17

[백준(Python)] Input()

1. input()의 본질성질: 무조건 **문자열(String)**로 읽음주의: 숫자 10을 넣어도 파이썬은 글자 "10"으로 인식합니다. 산술 연산을 하려면 반드시 형 변환이 필요2. split()의 역할기능: 공백(스페이스, 탭, 엔터)을 기준으로 문자열을 자룸.예시: "10 20" → ["10", "20"] (리스트 형태)3. map(int, ...)기능: 여러 개의 데이터를 한꺼번에 정수(int)로 변환.비유: 리스트 안의 모든 글자들에게 "숫자로 변신해!"라고 명령하는 컨베이어 벨트① 변수 여러 개에 나눠 담기 (언패킹)- 개수가 정확히 정해져 있을 때 백준에서 가장 많이 쓰는 방식a, b = map(int, input().split())# a에는 10, b에는 20이 들어감 ② 리스트로 묶기-..

BACKJOON 2026.03.10

[딥러닝] 검증된 AI 모델 활용(Keras Applications)

딥러닝 모델을 처음부터 직접 만드는 것도 좋은 방법이지만, 이미 수많은 연구자가 검증하고 성능을 입증한 기존 모델을 가져다 쓰는 것이 훨씬 효율적일 수 있음기존 모델을 활용하는 방식은 크게 두 가지로 나뉨Case 1: 기존 모델의 틀(구조)만 가져다 쓰는 경우Case 2: 기존에 **학습된 모델(가중치 포함)**을 가져다 쓰는 경우학습된 모델을 그대로 활용 학습된 모델을 새로운 데이터에 맞게 적용 (Fine-Tuning) - 이러한 검증된 모델들은 paperswithcode.com , kaggle.com, huggingface.co 등에서 찾을 수 있으며, 특히 Keras는 keras.applications 모듈을 통해 Xception, VGG, ResNet, MobileNet 등 다양한 모델을 손쉽게 ..

AI(ML & DL) 2025.10.28

[딥러닝] 모델 다루기 (Sequential & Functional + Inception Module 실습)

모델 생성: Sequential정의: 하나의 입력과 하나의 출력을 가지며, Layer를 순차적으로 쌓아나가는 방식 핵심 원리: 이전 레이어의 output이 다음 레이어의 input이 됨 구현 예시:from tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Densemodel = Sequential()model.add(Dense(2, input_dim=1)) model.add(Dense(1))모델 생성: Functional개념: 입력이나 출력이 하나로 제한되지 않는 모델링 방식필요성: "꼭 하나의 입력과 하나의 출력이어야 할까?"라는 질문에서 시작 두 개의 입력, 하나의 출력 하나의 입력, 두 개의 출력 model = ..

AI(ML & DL) 2025.10.23

[Python] Searchive 프로젝트( 2 ) - KeyBert, ElasticSearch 고도화

이 시스템은 두 가지 키워드 추출 전략을 상황에 맞게 사용하는 하이브리드(Hybrid) 방식을 채택Cold Start (초기 단계): 시스템에 데이터가 거의 없을 때는 문맥 이해 능력이 뛰어난 KeyBERT를 사용Normal (안정 단계): 데이터가 충분히 쌓이면, 전체 문서와 비교하여 통계적으로 중요한 단어를 찾아내는 Elasticsearch의 TF-IDF 방식을 사용해 더 정확한 키워드를 추출1. 필요 라이브러리 (Requirements)프로젝트 실행에 필요한 핵심 라이브러리 목록# requirements.txt# 키워드 추출keybertelasticsearch[async]# 데이터베이스 연동 (재색인 스크립트용)sqlalchemy[asyncpg] # PostgreSQL 사용 시alembic# 기타 ..

PYTHON 2025.10.11

[Python] Searchive 프로젝트( 1 ) - MinIO, ElasticSearch, KeyBert

Searchive 프로젝트:- 단순히 파일을 저장하는 것을 넘어, 파일의 내용을 이해하고 자동으로 분류하며, 강력한 검색 기능을 제공하는 AI 기반 문서 관리 API 서버입니다. 깃허브 주소:- https://github.com/Chaehyunli/Searchive-backend문서 업로드 파이프라인: A 9-Step JourneyGateway: API 엔드포인트에서 UploadFile 객체로 파일 수신Preparation: pathlib과 uuid를 이용한 고유 저장 경로 생성Storage: MinIO 객체 스토리지에 실제 파일 데이터 저장Metadata Logging: PostgreSQL에 파일의 메타데이터 기록Text Extraction: PDF, DOCX 등 다양한 문서에서 텍스트 추출Index..

PYTHON 2025.10.11

[기계학습] 선형 회귀 실습 (1인당 GDP와 삶의 만족도 예측) ( 2 )

1. OECD 삶의 만족도 데이터oecd_bli = pd.read_csv(datapath + "oecd_bli.csv", thousands=",") 2. INEQUALITY 값 확인oecd_bli.INEQUALITY.unique()# array(['TOT', 'MN', 'WMN', 'HGH', 'LW'], dtype=object)3. 각 기준별 행 개수 확인 arr1 = oecd_bli.INEQUALITY.unique()for ineq in arr1: print(f'{ineq:>3} : {(oecd_bli.INEQUALITY == ineq).sum()} rows')# TOT : 911 rows# MN : 578 rows# WMN : 578 rows# HGH : 164 rows# LW : 138 ..

AI(ML & DL) 2025.04.14