❓ Question ❗ Answer SELECT CONCAT('/home/grep/src/',board.board_id,'/',file.file_id,file.file_name,file.file_ext) FILE_PATH FROM used_goods_board board INNER JOIN used_goods_file file ON board.board_id = file.board_id WHERE board.views = (SELECT MAX(views) FROM used_goods_board) ORDER BY file.file_id DESC; 📌 Discussion - INNER JOIN을 활용하여 같은 게시물 ID를 사용하는 모든 파일 레코드 호출 - sub-query를 scalar 형태로 사용하여 ..
📌문제 출처 백준 단계별 문제풀이 - 이분탐색 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net ❓ 문제 ❗ 풀이 이분탐색 활용 📗 풀이 코드 import sys input = sys.stdin.readline def binary_search(q,n): sta,end = 0,n-1 mid = (sta+end)//2 while sta
📌문제 출처 백준 단계별 문제풀이 - 분할정복 https://www.acmicpc.net/problem/10830 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. www.acmicpc.net ❓ 문제 ❗ 풀이 분할 정복(재귀 함수) 사용 📗 풀이 코드 import sys input = sys.stdin.readline def mul_func(a1,a2): # 행렬 곱 연산 함수 mul = [[0 for _ in range(n)] for _ in range(n)] for i in range(n): a1_row = a1[i] for j in range(n)..
📌문제 출처 백준 단계별 문제풀이 - 분할정복 https://www.acmicpc.net/problem/2740 ❓ 문제 ❗ 풀이 행렬 전환하여 행렬 곱 연산 진행 📗 풀이 코드 import sys input = sys.stdin.readline n,m = map(int,input().split()) list_a = [list(map(int,input().split())) for _ in range(n)] _,k = map(int,input().split()) # 행렬 곱셈이 가능하려면 a의 열과 b의 행이 같아야하기에 m 생략 list_b = [[] for _ in range(k)] for _ in range(m): for i,num in enumerate(map(int,input().split()))..
❓ Question ❗ Answer SELECT f.flavor FROM first_half f INNER JOIN july j ON f.flavor = j.flavor GROUP BY f.flavor ORDER BY SUM(f.total_order+j.total_order) DESC LIMIT 3;📌 Discussion flavor로 join하여 shipment_id가 다르거나, shipment_id가 같더라도 테이블이 다르면 서로 다른 레코드로 취급함 group by로 같은 flavor끼리 묶어서 위 조건에 해당되는 서로 다른 레코드를 합계
❓ Question ❗ Answer # GROUP_CONCAT 활용 SELECT cart_id FROM cart_products GROUP BY cart_id HAVING GROUP_CONCAT(name) LIKE '%Milk%' AND GROUP_CONCAT(name) LIKE '%Yogurt%' ORDER BY cart_id; # sub query 활용 SELECT DISTINCT cart_id FROM cart_products WHERE name = 'Milk' AND cart_id in (SELECT cart_id FROM cart_products WHERE name = 'Yogurt') ORDER BY cart_id; # IN, DISTN..
❓ Question ❗ Answer SELECT * FROM places WHERE host_id IN (SELECT host_id FROM places GROUP BY host_id HAVING COUNT(*)>=2) ORDER BY id;📌 Discussion sub query 활용 하여 조건에 맞는 host_id에 해당하는 데이터만 출력