전체 글(754)
-
[알고리즘][X] 입양 시각 구하기(1)
문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_IDVARCHAR(N)FALSE ANIMAL_TYPEVARCHAR(N)FALSE DATETIMEDATETIMEFALSE NAMEVARCHAR(N)TRUE SEX_UPON_OUTCOMEVARCHAR(N)FALSE 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 ..
2023.09.22 -
[알고리즘][X] 진료과별 총 예약 횟수 출력하기
문제 설명 다음은 종합병원의 진료 예약정보를 담은 APPOINTMENT 테이블 입니다. APPOINTMENT 테이블은 다음과 같으며 APNT_YMD, APNT_NO, PT_NO, MCDP_CD, MDDR_ID, APNT_CNCL_YN, APNT_CNCL_YMD는 각각 진료예약일시, 진료예약번호, 환자번호, 진료과코드, 의사ID, 예약취소여부, 예약취소날짜를 나타냅니다. Column nameTypeNullable APNT_YMDTIMESTAMPFALSE APNT_NONUMBER(5)FALSE PT_NOVARCHAR(10)FALSE MCDP_CDVARCHAR(6)FALSE MDDR_IDVARCHAR(10)FALSE APNT_CNCL_YNVARCHAR(1)TRUE APNT_CNCL_YMDDATETRUE 문제 ..
2023.09.22 -
[알고리즘][5] 더 맵게
문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..
2023.09.22 -
[Spring] Singleton 패턴과 문제점
Singleton 패턴을 활용하면 클래스 당 하나의 객체만 공유하도록 만들어 메모리 부담을 줄일 수 있다. package hello.core.singleton; public class SingletonService { private static final SingletonService instance = new SingletonService(); public static SingletonService getInstance() { return instance; } private SingletonService(){ } public void logic() { System.out.println("싱글톤 객체 로직 호출"); } } 하지만 다양한 문제도 가진다. 1. 싱글톤 패턴 구현에는 추가적인 코드가 들어간다..
2023.09.21 -
[Spring] 스프링 없는 순수한 DI 컨테이너의 문제점
고객이 요청할 때마다 새로운 객체를 만들어서 반환한다. 동시에 100개의 요청이 들어오면 100개의 객체가 만들어진다. 인자로 객체가 주어져야 한다면 생성 객체수는 기하급수적으로 늘어난다. 이렇게 되면 메모리 낭비가 생기는 문제가 발생한다. 더 효율적인 방법이 필요하다. 이게 싱글톤 컨테이너이다. Reference https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55361 학습 페이지 www.inflearn.com
2023.09.21 -
[Spring] BeanDefinition에 대한 나름의 이해
BeanDefinition은 설정 정보로부터 읽어온 bean의 메타 데이터를 추상화한다. ApplicationContext interface는 getBeanDefinitionNames() method가 없다. 컨테이너에 bean을 등록하는 방법에는 크게 두가지가 있다. 직접적으로 bean을 등록하는 방법이 있고 factoryBean을 통해 등록하는 방법이 있다. AppConfig.class와 같이 자바로 설정정보를 저장하면 factoryBean을 통해 등록한다. factoryBeanName=appConfig가 되고 factroyMethodName은 config 파일 내에 있는 method의 이름(빈의 이름)이 된다. xml로 하게 되면 factoryBean을 이용하지 않는다. beanDefinitionN..
2023.09.21