728x90

Algorithm (Python, Java, SQL) 235

[프로그래머스 SQL(IS NULL)] 이름이 없는 동물의 아이디 (IS NULL으로 NULL값인 데이터 찾기, IS NOT NULL)

📖 문제 : 이름이 없는 동물의 아이디 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_..

[프로그래머스 SQL(IS NULL)] 경기도에 위치한 식품창고 목록 출력하기 (IFNULL으로 NULL값을 다른 데이터로 변경하여 조회하기)

📖 문제 : 경기도에 위치한 식품창고 목록 출력하기 문제 설명 다음은 식품창고의 정보를 담은 FOOD_WAREHOUSE 테이블입니다. FOOD_WAREHOUSE 테이블은 다음과 같으며 WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, TLNO, FREEZER_YN는 창고 ID, 창고 이름, 창고 주소, 전화번호, 냉동시설 여부를 의미합니다. Column name Type Nullable WAREHOUSE_ID VARCHAR(10) FALSE WAREHOUSE_NAME VARCHAR(20) FALSE ADDRESS VARCHAR(100) TRUE TLNO VARCHAR(20) TRUE FREEZER_YN VARCHAR(1) TRUE 문제 FOOD_WAREHOUSE 테이블에서 경기도에 위..

[Python Algorithm] Dynamic programming(동적계획법) - 위상정렬(그래프 정렬)

> Dynamic programming(동적계획법) - 위상정렬 : 일의 선후관계를 유지하면서 전체 일의 순서를 짜는 알고리즘, 그래프와 진입차수가 중요함 (두 가지를 만들어둬야 함) 예를 들어 아래의 그림을 보면 4번 정점의 진입차수는 1과 5에서 4로 향하는 방향 2개 존재. 그래서 진입차수는 2 이런 식으로 각각 차수 값을 저장해둬야함. 📖 문제 : 위상정렬(그래프 정렬) 위상정렬은 어떤 일을 하는 순서를 찾는 알고리즘입니다. 각각의 일의 선후관계가 복잡하게 얽혀있을 때 각각 일의 선후관계를 유지하면서 전체 일의 순서를 짜는 알고리즘입니다. 만약 아래와 같은 일의 순서를 각각 지키면서 전체 일의 순서를 정한다면 1 4 //1번일을 하고 난 후 4번일을 해야한다. 5 4 4 3 2 5 2 3 6 2 ..

[Python Algorithm] Dynamic programming(동적계획법) - 회장뽑기(플로이드-워샬 응용)

> Dynamic programming(동적계획법) - 플로이드 워샬 알고리즘 : 모든 정점이 모든 정점으로 가는 비용을 구하는 알고리즘 (2차원리스트) 📖 문제 : 회장뽑기 월드컵축구의 응원을 위한 모임에서 회장을 선출하려고 한다. 이모임은 만들어진지 얼마 되지 않았기 때문에 회원사이에 서로 모르는 사람도 있지만, 몇 사람을 통하면 서로 모두 알 수 있 다. 각 회원은 다른 회원들과 가까운 정도에 따라 점수를 받게 된다. 예를 들어 어느 회원이 다른 모든 회원과 친구이면, 이 회원의 점수는 1점이다. 어느 회원의 점수가 2점이면, 다른 모든 회원이 친구이거나, 친구의 친구임을 말한다. 또한, 어느 회원의 점수가 3점이면, 다른 모든 회원이 친구이거나, 친구의 친구이거나, 친국의 친구의 친구임을 말한다...

[Python Algorithm] Dynamic programming(동적계획법) - 플로이드 워샬 알고리즘

> Dynamic programming(동적계획법) - 플로이드 워샬 알고리즘 : 모든 정점이 모든 정점으로 가는 비용을 구하는 알고리즘 (2차원리스트) 📖 문제 : 플로이드 워샬 알고리즘 N개의 도시가 주어지고, 각 도시들을 연결하는 도로와 해당 도로를 통행하는 비용이 주어질 때 모든 도시에서 모든 도시로 이동하는데 쓰이는 비용의 최소값을 구하는 프로그램을 작성하 세요. 입력설명 첫 번째 줄에는 도시의 수N(N 정점 1을 지난다는 것. k = 3 이면, 1, 2, 3 중에서 사용해가면서 최솟값을 구하는 것 ! 1,2,3 순서가 필수가 아닌 321 213 이 될 수도 123 다 안쓰일 수도 ! 출처 인프런 : 파이썬 알고리즘 문제 풀이

[프로그래머스 SQL(String, Date)] 취소되지 않은 진료 예약 조회하기

📖 문제 : 취소되지 않은 진료 예약 조회하기 문제 설명 다음은 환자 정보를 담은 PATIENT 테이블과 의사 정보를 담은 DOCTOR 테이블, 그리고 진료 예약목록을 담은 APPOINTMENT에 대한 테이블입니다. PATIENT 테이블은 다음과 같으며 PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다. Column name Type Nullable PT_NO VARCHAR(N) FALSE PT_NAME VARCHAR(N) FALSE GEND_CD VARCHAR(N) FALSE AGE INTEGER FALSE TLNO VARCHAR(N) TRUE DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO,..

[프로그래머스 SQL(String, Date)] 조건별로 분류하여 주문상태 출력하기

📖 문제 : 조건별로 분류하여 주문상태 출력하기 문제 설명 다음은 식품공장의 주문정보를 담은 FOOD_ORDER 테이블입니다. FOOD_ORDER 테이블은 다음과 같으며 ORDER_ID, PRODUCT_ID, AMOUNT, PRODUCE_DATE, IN_DATE,OUT_DATE,FACTORY_ID, WAREHOUSE_ID는 각각 주문 ID, 제품 ID, 주문양, 생산일자, 입고일자, 출고일자, 공장 ID, 창고 ID를 의미합니다. Column name Type Nullable ORDER_ID VARCHAR(10) FALSE PRODUCT_ID VARCHAR(5) FALSE AMOUNT NUMBER FALSE PRODUCE_DATE DATE TRUE IN_DATE DATE TRUE OUT_DATE DATE..

[프로그래머스 SQL(String, Date)] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

📖 문제 : 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 문제 설명 다음은 중고거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고거래 게시판 첨부파일 정보를 담은 USED_GOODS_FILE 테이블입니다. USED_GOODS_BOARD 테이블은 다음과 같으며 BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS은 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미합니다. Column name Type Nullable BOARD_ID VARCHAR(5) FALSE WRITER_ID VARCHAR(50) FALSE TITLE VARCHAR(100) FALSE..

[Python Algorithm] Dynamic programming(동적계획법) - 최대점수 구하기(냅색 알고리즘)

> Dynamic programming(동적계획법) 📖 문제 : 최대점수 구하기(냅색 알고리즘) 이번 정보올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 합니다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸는데 걸리는 시간이 주어지게 됩 니다. 제한시간 M안에 N개의 문제 중 최대점수를 얻을 수 있도록 해야 합니다. (해당문제는 해당시간이 걸리면 푸는 걸로 간주한다, 한 유형당 한개만 풀 수 있습니다.) 입력설명 첫 번째 줄에 문제의 개수N(1

[Python Algorithm] Dynamic programming(동적계획법) - 동전 교환(냅색 알고리즘)

> Dynamic programming(동적계획법) 📖 문제 : 동전 교환(냅색 알고리즘) 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환 해주려면 어떻게 주면 되는가? 각 단위의 동전은 무한정 쓸 수 있다. 입력설명 첫 번째 줄에는 동전의 종류개수 N(1

728x90