전체 글(754)
-
[알고리즘][X] 상품을 구매한 회원 비율 구하기
문제 설명 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블과 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. Column nameTypeNullable USER_IDINTEGERFALSE GENDERTINYINT(1)TRUE AGEINTEGERTRUE JOINEDDATEFALSE GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PR..
2023.10.06 -
[알고리즘] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기
문제 설명 다음은 어느 자동차 대여 회사에서 대여 중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블과 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 자동차 종류 별 대여 기간 종류 별 할인 정책 정보를 담은 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블 입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다. Column nameTypeNullable CAR_IDINTEGERFALSE CAR_TYPEVARCHAR(..
2023.10.06 -
[알고리즘][X] 입양 시각 구하기(2)
문제 설명 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 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇..
2023.10.06 -
[Spring] Bean 중복 등록에 대한 나름의 이해
자동 빈 등록(Component Scan)의 경우 Spring이 에러를 낸다(충돌이 발생한다). 수동 빈 등록 vs 자동 빈 등록은 Spring의 경우 수동 빈을 override해주지만 SpringBoot를 이용한다면 이 overriding이 default로 false가 되어 있어 충돌이 발생한다. 코드가 엄청 길어지게 되면 수동 빈으로 등록한 경우 자동 빈 등록과 충돌이 발생하지 않고 넘어갈 수도 있는 상황이 발생(boot를 이용하지 않거나 overriding=true로 설정하면)하고 이러면 원치 않는 문제가 생긴다. 이를 방지하기 위해서는 자동만 사용하도록 convention으로 정할 수 있다. 이와 같은 맥락에서 코드를 명확하게 만드는 것이 매우 중요하다. 그래야 문제가 생겨도 디버깅이 원활해진다...
2023.10.05 -
[알고리즘][X][RE] 1,2,3 떨어트리기
문제 설명 춘식이는 트리의 1번 노드에 숫자 1, 2, 3 중 하나씩을 계속해서 떨어트려 트리의 리프 노드1에 숫자를 쌓는 게임을 하려고 합니다. 아래 그림은 게임의 예시를 나타냅니다. railroad.jpg 트리의 모든 간선은 부모 노드가 자식 노드를 가리키는 단방향 간선입니다. 모든 부모 노드는 자식 노드와 연결된 간선 중 하나를 길로 설정합니다. 실선 화살표는 길인 간선입니다. 점선 화살표는 길이 아닌 간선입니다. 모든 부모 노드는 자신의 자식 노드 중 가장 번호가 작은 노드를 가리키는 간선을 초기 길로 설정합니다. [게임의 규칙]은 아래와 같습니다. 1번 노드(루트 노드)에 숫자 1, 2, 3 중 하나를 떨어트립니다. 숫자는 길인 간선을 따라 리프 노드까지 떨어집니다. 숫자가 리프 노드에 도착하면..
2023.10.05 -
[파이썬] 클래스 메소드에 대한 나름의 이해
method를 안에 다시 사용하는 즉 재귀 함수 또는 class 내 다른 메소드에서 사용하려면 self.method로 붙여줘야 한다.
2023.10.05