[BaekJoon] 15624번 - 피보나치 수 7 [Java][C++]
문제 링크 1. 문제 풀이 피보나치 수열에서 $n$ 번째 수를 구하는 문제로 주어진 점화식을 활용한 다이나믹 프로그래밍으로 해결할 수 있다. 2. 코드 1. 풀이 [Java] import java.io.*; public class Main { static final int MOD = 1_000_000_007; ...
문제 링크 1. 문제 풀이 피보나치 수열에서 $n$ 번째 수를 구하는 문제로 주어진 점화식을 활용한 다이나믹 프로그래밍으로 해결할 수 있다. 2. 코드 1. 풀이 [Java] import java.io.*; public class Main { static final int MOD = 1_000_000_007; ...
문제 링크 1. 문제 풀이 피보나치 수열에서 $n$ 번째 수를 구하는 문제로 $n$ 의 크기가 매우 크다. 피보나치 수를 구하는 점화식을 활용한 행렬 연산과 이진 거듭제곱을 활용하면 해결할 수 있다. $a_n = a_{n-2} + a_{n-1}$ 의 점화식을 갖는 피보나치 수열은 아래와 같은 행렬 연산으로 바꿀 수 있다. [\bi...
문제 링크 1. 문제 풀이 피보나치 수열에서 $n$ 번째 수를 구하는 문제로 주어진 점화식을 활용한 다이나믹 프로그래밍으로 해결할 수 있다. 2. 코드 1. 풀이 [Java] import java.io.*; public class Main { public static void main(String[] args) thro...
문제 링크 1. 문제 풀이 피보나치 수열에서 $n$ 번째 수를 구하는 문제로 주어진 점화식을 활용한 다이나믹 프로그래밍으로 해결할 수 있다. 다만 수의 크기가 매우 커질 수 있어서 큰 수를 다루는 라이브러리를 활용하거나 직접 계산을 해야 한다. 2. 코드 1. 풀이 [Java] import java.io.*; import jav...
문제 링크 1. 문제 풀이 각 대장균의 형질은 2진수로 표현되어 있다. 이는 비트 연산으로 형질의 보유 여부를 파악할 수 있는데 2번 형질을 보유하지 않음은 2와의 비트 AND 연산으로, 1번 또는 3번 형질을 보유하고 있음은 1, 4와의 비트 AND 연산으로 파악할 수 있다. 2. 쿼리 SELECT COUNT(*) AS COUN...
문제 링크 1. 문제 풀이 상반기와 하반기 점수의 합으로 한해 평가 점수를 구하므로 HR_EMPLOYEES 테이블과 HR_GRADE 테이블을 JOIN 후 EMP_NO로 그룹핑을 해줬다. 이후 SUM 함수의 결과를 기준으로 내림차순으로 정렬하고 LIMIT으로 하나만 뽑으면 된다. 2. 쿼리 SELECT SUM(g.SCORE)...
문제 링크 1. 문제 풀이 PARENT 아이템의 희귀도가 RARE인 경우 정보를 출력하는 문제로 JOIN을 두 번하는 방식으로 해결할 수 있고, 서브쿼리와 IN 연산자를 활용해도 해결할 수 있다. 2. 쿼리 1. JOIN + JOIN PARENT 아이템을 의미하는 p와 ITEM_TREE, 아이템을 의미하는 c를 전부 JOIN 해...
문제 링크 1. 문제 풀이 ROOT 아이템은 PARENT 아이템이 없는 아이템으로 ITEM_INFO 테이블과 ITEM_TREE 테이블을 ITEM_ID로 JOIN 후 PARENT_ITEM_ID가 NULL인 것만 필터링하면 된다. 2. 쿼리 SELECT i.ITEM_ID, i.ITEM_NAME FROM ITEM_INFO AS i JO...
문제 링크 1. 문제 풀이 DATEDIFF 함수로 대여 종료일과 대여 시작일의 차를 구할 수 있다. AVG 함수와 ROUND 함수로 반올림한 평균 대여 기간을 구했고, 이를 HAVING 절의 조건으로 활용했다. 2. 쿼리 SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE) + 1),...
문제 링크 1. 문제 풀이 DATEDIFF 함수로 대여 종료일과 대여 시작일의 차를 구할 수 있다. 대여 기간이 30일 이상인지는 대여 종료일과 대여 시작일의 차가 29일 이상이어야 한다.(대여 기간은 시작일과 종료일을 포함하므로) 2. 쿼리 SELECT HISTORY_ID, CAR_ID, DATE_FORMA...