728x90
반응형

분류 전체보기 50

[백준] 2644 - 촌수계산

문제 링크https://www.acmicpc.net/problem/2644문제 요약이 문제는 사람들 간의 촌수를 계산하는 문제입니다. 주어진 사람들 중에서 특정 두 사람 사이의 촌수를 계산하는 프로그램을 작성해야 합니다. 촌수는 부모와 자식 관계를 1촌으로 정의하며, 이를 이용해 두 사람 간의 촌수를 계산합니다.푼 방법 주어진 두 사람 간의 촌수를 구하는 문제는 그래프 탐색 문제로 생각할 수 있습니다.각 사람을 그래프의 노드로 보고, 부모 자식 관계를 간선으로 연결하여 BFS 또는 DFS로 두 노드 간의 최단 경로(촌수)를 계산할 수 있습니다.저의 경우 재귀적 DFS로 해결했습니다.두 사람이 연결되어 있지 않으면 -1을 출력해야 합니다. 정답 코드def chonsu(): result=[] ..

[백준] 2805 - 나무 자르기

문제 링크https://www.acmicpc.net/problem/2805문제 요약상근이는 M미터의 나무가 필요하고, 이를 위해 주어진 나무들을 절단기로 자를 높이 H를 찾아야 합니다. 절단기의 높이를 설정하면, 나무 중에서 H보다 큰 나무는 그 위의 부분이 잘리고, H보다 작은 나무는 자르지 않습니다. 절단 후 나무 길이의 합이 M미터 이상이 되도록 하는 절단기의 높이 H의 최댓값을 구하는 것이 목표입니다.조건 요약나무의 수 N은 최대 1,000,000개.상근이가 가져가려는 나무의 길이 M은 최대 2,000,000,000.나무의 높이는 최대 1,000,000,000.설정할 수 있는 절단기의 높이 H는 정수 또는 0이며, H가 클수록 더 많은 부분의 나무가 잘리게 됩니다.푼 방법이분 탐색의 범위 설정: ..

[MySQL] - 오랜 기간 보호한 동물(2)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/59411문제 요약주어진 문제는 동물 보호소에서 입양된 동물들 중에서 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 문제입니다. 보호 기간은 동물이 보호소에 들어온 날짜(ANIMAL_INS의 DATETIME)와 입양된 날짜(ANIMAL_OUTS의 DATETIME) 간의 차이로 계산됩니다. 보호 기간이 긴 순으로 결과를 정렬하여 상위 두 마리의 동물 정보를 조회해야 합니다.풀이 방법테이블 조인: ANIMAL_INS와 ANIMAL_OUTS 테이블을 ANIMAL_ID를 기준으로 조인합니다. 이렇게 해야 보호 시작일과 입양일을 함께 사용할 수 있습니다.보호 기간 계산: 두 테이블의..

코딩테스트/SQL 2024.10.18

[MySQL] - 대여 기록이 존재하는 자동차 리스트 구하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/157341#문제 요약주어진 문제는 두 개의 테이블(CAR_RENTAL_COMPANY_CAR, CAR_RENTAL_COMPANY_RENTAL_HISTORY)을 이용하여 '세단' 종류의 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID를 중복 없이 출력하는 문제입니다. 자동차 ID는 내림차순으로 정렬해야 합니다.풀이 방법 테이블 조인: 자동차 대여 기록(CAR_RENTAL_COMPANY_RENTAL_HISTORY)과 자동차 정보(CAR_RENTAL_COMPANY_CAR) 테이블을 CAR_ID를 기준으로 조인해야 합니다. 이는 자동차의 종류와 대여 기록을 함께 가져오기 위함입니다.조건 ..

코딩테스트/SQL 2024.10.18

[MySQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/164671문제 요약USED_GOODS_BOARD와 USED_GOODS_FILE 두 개의 테이블에서 조회수가 가장 높은 중고 거래 게시물의 첨부파일 경로를 조회하는 문제입니다. 파일 경로는 /home/grep/src/로 시작하며, 게시글 ID로 디렉토리를 구분하고, 파일 이름은 파일 ID + 파일 이름 + 파일 확장자로 구성됩니다. 첨부파일 경로는 파일 ID를 기준으로 내림차순 정렬해야 합니다.풀이 방법 조회수가 가장 높은 게시물을 조회하기 위해 USED_GOODS_BOARD 테이블에서 views를 기준으로 내림차순 정렬한 후, 상위 1개의 게시글을 선택합니다.선택된 게시글의 BOARD_ID를..

코딩테스트/SQL 2024.10.12

[백준] 28325 - 호숫가의 개미

문제 링크https://www.acmicpc.net/problem/28325문제 요약KOI 호숫가에 여러 개미굴이 원형으로 배치되어 있으며, 각 개미굴은 1번 방부터 N번 방까지 번호가 매겨져 있습니다. 각 방은 인접한 방과 연결되어 있고, 일부 방에는 하나 이상의 쪽방이 달려 있습니다. 쪽방은 i번 방과만 연결되어 있으며, 다른 방과는 연결되어 있지 않습니다.개미굴의 각 방과 쪽방에는 최대 한 마리의 개미만 살 수 있으며, 서로 인접한 두 곳(방 또는 쪽방)에 동시에 개미가 살면 불편함을 느낍니다. 따라서, 직접 연결된 두 곳에는 동시에 개미가 살 수 없고, 두 곳 중 하나에만 개미를 배치해야 합니다. 이 조건 하에서 최대한 많은 개미를 배치할 수 있도록 프로그램을 작성하는 것이 목표입니다.푼 방법 쪽..

[논문 리뷰] A New Method To Index And Store Spatio-temporal data

저자:Guillermo de Bernardo, Departamento de Computación, Universidade da Coruña, A Coruña, Spain, gdebernardo@udc.esRamón Casares, Departamento de Computación, Universidade da Coruña, A Coruña, Spain, ramon.casares@udc.esAdrían Gómez-Brandón, Departamento de Computación, Universidade da Coruña, A Coruña, Spain, adrian.gbrandon@udc.esJosé R. Paramá,  Departamento de Computación, Universidade da Cor..

[백준] 14569 - 시간표 짜기

문제 링크https://www.acmicpc.net/problem/14569문제 요약주어진 문제는 여러 개의 강의 시간표와 학생의 개인 일정이 주어졌을 때, 각 학생이 들을 수 있는 강의의 수를 구하는 문제입니다.강의마다 특정 시간대에 수업이 열리며, 이 시간대는 1부터 50까지의 번호로 표현됩니다.학생은 자신의 일정과 강의 시간표가 겹치지 않는 강의만 수강할 수 있습니다.학생의 시간표와 강의 시간표가 겹치지 않으려면, 학생의 일정에 포함된 시간이 강의 시간표에 완전히 포함되어야 합니다.푼 방법이 문제는 비트마스크를 활용하여 각 강의의 시간표와 학생의 일정을 이진수로 표현하고, 비트 연산을 통해 겹치는 시간이 있는지 확인하는 방식으로 해결할 수 있습니다.1. 비트마스크로 강의 시간표 표현각 강의는 여러 ..

[MySQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/157340문제 요약주어진 문제는 자동차 대여 기록을 담고 있는 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차와 그렇지 않은 자동차를 구분하여 출력하는 SQL 쿼리를 작성하는 것입니다. 각 자동차는 여러 대여 기록을 가질 수 있으며, 해당 날짜에 대여 중인 자동차는 '대여중', 그렇지 않은 경우는 '대여 가능'으로 표시해야 합니다. 결과는 자동차 ID를 기준으로 내림차순 정렬해야 합니다.풀이 방법 그룹화(Grouping): 각 자동차(CAR_ID)는 여러 대여 기록이 있을 수 있으므로, CAR_ID를 기준으로 그룹화합니다.대..

코딩테스트/SQL 2024.10.09

[MySQL] 대장균의 크기에 따라 분류하기 1

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/299307문제 요약주어진 문제는 대장균의 정보를 담고 있는 ECOLI_DATA 테이블에서 대장균의 크기(SIZE_OF_COLONY)에 따라 분류한 값을 출력하는 SQL 쿼리를 작성하는 것입니다. 크기는 3가지로 분류됩니다:100 이하: 'LOW'100 초과 1000 이하: 'MEDIUM'1000 초과: 'HIGH'최종적으로 ID와 크기 분류 결과를 출력하고, ID 기준으로 오름차순 정렬하는 것이 목표입니다.풀이 방법CASE 문 사용: 대장균의 크기(SIZE_OF_COLONY)를 기준으로 'LOW', 'MEDIUM', 'HIGH'로 분류해야 하므로 CASE 문을 사용하여 조건을 설정합니다.SI..

코딩테스트/SQL 2024.10.09
728x90
반응형