Study 147

프로그래머스) 추억 점수(level 1) - Java(자바)

문제 설명 사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물의 이름이 ["kali", "mari", "don", "tony"]이고 ["kali", "mari", "don"]의 그리움 점수가 각각 [11점, 1점, 55점]]이고, "tony"는 그리움 점수가 없을 때, 이 사진의 추억 점수는 3명의 그리움 점수를 합한 67(11 + 1 + 55)점입니다. 그리워하는 사람의..

코딩테스트 2025.06.20

Python) EasyOCR vs PaddleOCR 성능 비교 & 코드 리뷰 [Flask Server]

1. 개요: 동화책 이미지 및 애니메이션 자막을 인식하고, 인식된 텍스트를 음성(mp3)으로 변환하는 Flask 기반 서버의 구현 및 성능 비교를 다룹니다. 주요 비교 대상은 다음과 같습니다EasyOCR + gTTS 서버paddleOCR + gTTS 서버: 각각의 구현 코드를 기반으로 구조, 처리 흐름, 인식 성능, 확장성 측면에서 비교 분석합니다.2. 전체 구조 비교 (이미지 처리는 EasyOCR 채택 후 변경된 부분)항목EasyOCR + gTTSPaddleOCR + gTTS이미지 처리 방식흑백 변환 + 이진화회색 변환 + 대비 강화 + 확대OCR 엔진 구조직접 텍스트 인식박스 검출 후 인식문장 분리정규식 기반정규식 기반TTS 처리gTTS로 문장별 생성gTTS로 문장별 생성응답 구조filename, s..

back/Python 2025.06.19

프로그래머스) 자릿수 더하기(Level 1) - 자바(Java)

문제 설명: 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. : 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.제한 사항: N의 범위 : 100,000,000 이하의 자연수입출력 예시: N = 123, return = 6 / N = 987, return = 24문제 풀이import java.util.*;public class Solution { public int solution(int n) { int answer = 0; String add = Integer.toString(n); for(int i = 0; i : 입력받는 n을 문자열로 변환: 문자열에..

코딩테스트 2025.05.29

Spring Boot) 인텔리제이[IntelliJ] 다국어 처리

실행환경IntelliJ : 2024.3.4.1Spring Boot : 3.3.10-SNAPSHOTJDK : 17.0.13 1. src/main/resources 디렉토리 밑에 파일 생성(저는 messages로 생성) 2. yml 설정spring: messages: basename: messages/message encoding: utf-8 cache-duration: 10 fallback-to-system-locale: false 3. messages 디렉토리에 언어별 Resource Bundle 추가 (messages 폴더 우클릭 -> New -> Resource Bundle 클릭) 3-1. Locales to Add 부분에 '+' 버튼 클릭 후 나라별 언어코드( ISO 639..

back/Spring Boot 2025.05.18

Spring Boot) 자주 사용하는 어노테이션(Annotation) 정리

1. Spring MVC (웹) 관련 어노테이션@Controller기능 : 해당 클래스가 Spirng MVC에서 웹 요청을 처리하는 컨트롤러임을 명시대체하는 코드 : 별도로 컨트롤러 등록할 필요 없이 자동으로 스프링 빈으로 등록됨(@Component 포함).자주 사용하는 이유 : 사용자 요청을 받아서 응답하는 기본 역할을 함. @RestController기능 : @Controller + @ResponseBody를 합친 것 : 반환값이 View가 아닌 JSON/XML 등 HTTP Response Body에 직접 들어감.사용 위치 : API 응답을 JSON으로 내보내는 REST API 작성 시 주로 사용예시 : @RestControllerpublic class ApiController { @GetMap..

back/Spring Boot 2025.04.20

JDBC) IntelliJ(Spring Boot) + MySQL 연동 / CRUD TEST

IntelliJ IDEA version : 2024.3.4.1spring boot version : v3.3.10-SNAPSHOTMySQL version : 8.0.41문서를 읽기 전에 전체 디렉토리 구조를 파악하고 읽으면 이해하기 쉬움!1. 전체 디렉토리 구조src├── main│ ├── java│ │ └── com.mc.app│ │ ├── dto 1. MySQL 계정 생성use mysql;create database 데이터베이스 이름;select host, user from user;create user '이름'@'localhost' identified by '비밀번호';create user '이름'@'%' identified by..

Database/JDBC 2025.03.20

Spring Boot) 초기 웹 개발환경 구축 방법 / JSP & tomcat 사용

실행환경 IntelliJ  : 2024.3.4.1Spring Boot : 3.4.3JDK : 17.0.13Tomcat : Spring Boot 3.4.3의 기본 Tomcat 버전( 예상 버전 : 10.1.x  ) 1. 프로젝트 생성 ( 여기선 빈 프로젝트 생성 )2. 모듈 생성 ( 프로젝트 우클릭 → 새로 만들기 → 모듈 )3. Spring Boot 클릭 → 자신한테 맞는 경로 및 언어, 타입 등등 지정 ( JSP 사용 시 무조건 War 선택!! )4. 추가하고 싶은 종석성 선택 ( Spring Boot 버전 선택 가능 )5. File → Settings 클릭 (빌드 도구 → Gradle에서 빌드 및 실행에 IntelliJ 선택 (default는 gradle) )6. build.gradle파일에서 dep..

back/Spring Boot 2025.03.06

JSP) String / List / Map 각각 데이터 처리 방식

: JSP + Servlet + AJAX 조합으로 클라이언트가 서버로 데이터를 요청하고 응답을 받는 구조 Human.java → DTO(Data Transfer Object) 역할 HelloServlet.java → 클라이언트의 요청을 받아 JSON 데이터를 응답 index.html → jQuery AJAX를 이용해 서버와 통신하고, 받은 데이터를 화면에 출력Human.java (데이터를 담는 그릇)package com.mulcam.edu.dto;public class Human { private String id; private String name; private String address; public Human() {} public Human(String id..

back/JSP 2025.03.03

JSP) 예제 : AJAX() / load() 정리

AJAX (Asynchronous JavaScript and XML) 기본 개념 1. AJAX란? : 비동기 통신을 이용하여 웹 페이지를 새로고침 없이 데이터를 송수신하는 기술 : fetch, XMLHttpRequest, jQuery.ajax() 등을 이용하여 서버와 데이터를 주고받는다.2. AJAX 기본 형식 (jQuery) $.ajax({ url: "server.jsp", // 요청 보낼 서버 주소 method: "GET", // GET or POST (type 대신 method 사용) dataType: "json", // 응답을 JSON으로 받음 data: { key1: "value1", key2: "value2" }, // 보낼 데이터 success: f..

back/JSP 2025.03.03