프로그래머스

SQL 문제풀이

[프로그래머스 SQL] LV.3 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기

❓ 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 형태로 사용하여 ..

파이썬 문제풀이

[백준 파이썬] 1920 수 찾기

📌문제 출처 백준 단계별 문제풀이 - 이분탐색 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

파이썬 문제풀이

[백준 파이썬] 10830 행렬 제곱

📌문제 출처 백준 단계별 문제풀이 - 분할정복 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)..

파이썬 문제풀이

[백준 파이썬] 2740 행렬 곱셈

📌문제 출처 백준 단계별 문제풀이 - 분할정복 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()))..

SQL 문제풀이

[프로그래머스 SQL] LV.4 주문량이 많은 아이스크림들 조회하기

❓ 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끼리 묶어서 위 조건에 해당되는 서로 다른 레코드를 합계

SQL 문제풀이

[프로그래머스 SQL] LV.1 자동차 대여 기록에서 장기/단기 대여 구분하기

❓ Question ❗ Answer SELECT history_id, car_id, DATE_FORMAT(start_date,'%Y-%m-%d'), DATE_FORMAT(end_date,'%Y-%m-%d'), IF(DATEDIFF(end_date,start_date)+1>=30,'장기 대여', '단기 대여') RENT_TYPE FROM car_rental_company_rental_history WHERE start_date LIKE '2022-09%' ORDER BY history_id DESC;📌 Discussion IF로 조건문으로 rent_type 표시 대여일수 = end_date - start_date + 1

SQL 문제풀이

[프로그래머스 SQL] LV.4 우유와 요거트가 담긴 장바구니

❓ 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..

SQL 문제풀이

[프로그래머스 SQL] LV.3 헤비 유저가 소유한 장소

❓ 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에 해당하는 데이터만 출력

냄비짱
'프로그래머스' 태그의 글 목록 (16 Page)