본문 바로가기
728x90

TIL - 프로그래밍292

[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 - MySQL https://school.programmers.co.kr/learn/courses/30/lessons/157339 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 자동차 종류가 '세단' 또는 'SUV' 인 자동차 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능 30일간의 대여 대여 금액이 50만원 이상 200만원 미만인 자동차 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문 대여금액 내림차순, 자동차 종류 오름차순, 자동차 ID 내림차순 # 1. select * from CAR_RENTAL_.. 2023. 2. 24.
[프로그래머스] 카테고리 별 도서 판매량 집계하기 - MySQL https://school.programmers.co.kr/learn/courses/30/lessons/144855 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT b.category,sum(s.sales) as toal_sales from book as b # 2022년 1월의 카테고리 별 도서 판매량을 합산하고, join (select book_id,sum(sales) as sales from book_sales where year(sales_date) = 2022 and month(sales_date) = 1 group by book_id.. 2023. 2. 20.
[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 - SQL https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 음식 종류별로 그룹화 한 후 즐겨찾기가 가장 높은 것을 출력하려고 했는데 '일식'이 나오지 않음. 원인!! GROUP BY 사용시 column이 SELECT 절에 그대로 들어가면 상관 없지만, 그룹 바이 요소로 사용하지 않는 column을 select절에 다이렉트로 들어갈 수 없다. 집계함수를 사용해야만 한다. SELECT food_type,rest_id,rest_name,favorites.. 2023. 2. 20.
[230220] SQL : WHERE과 HAVING의 차이 WHERE 기본적인 조건절로 항상 FROM 뒤에 위치하며 다양한 비교 연산자로 구체적인 조건을 줄 수 있다. 모든 필드에 조건을 둘 수 있다. SELECT * FROM 테이블 WHERE 조건절; HAVING 항상 GROUP BY 뒤에 위치하며 WHERE 과 마찬가지로 다양한 비교 연산자로 조건을 줄 수 있다. GROUP BY로 그룹화 된 필드에 조건을 줄 수 있다. SELECT * FROM 테이블 GROUP BY 필드 HAVING 조건절; 둘 다 사용 SELECT * FROM 테이블명 WHERE 조건절 GROUP BY 컬럼 HAVING 조건절; 2023. 2. 20.
[230214] SQL 공부 반올림 : round(숫자, 0) 0 : 소수 첫째자리에서 반올림 (0이 기본) 1 : 소수 둘째자리에서 반올림 날짜 형태 변경 : DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') 중복 찾기 : group by 열1,열2 having count(*) > 1 중복 조건 열로 group 중복 제거 : distinct, group by distinct : 중복 제거 SELECT DISTINCT {컬럼명} FROM {테이블명} {조건절} group by : 중복 제거 + 정렬 SELECT {컬럼명} FROM {테이블명} {조건절} GROUP BY {테이블명} 없는 값을 대체하기 : ifnull(tlno,'NONE') tlno가 없다면 'NONE'로 대체 중간 부분 자르기 : substring(문자,.. 2023. 2. 14.
위상 정렬(Topology Sort) 알고리즘 '순서가 정해져 있는 작업'을 차례로 수행해야 할 때 그 순서를 결정해주기 위해 사용하는 알고리즘 사이클 발생X 위상 정렬은 시작점이 존재해야 함 2가지 해결책을 냄 현재 그래프는 위상 정렬이 가능한지 위상 정렬이 가능하다면 그 결과는 무엇인지 큐(Queue)를 이용한 방식 진입차수가 0인 정점을 큐에 삽입 (진입 차수 : 먼저 수행되는 것 갯수) 큐에서 원소를 꺼내 연결된 모든 간선을 제거 간선 제거 이후에 진입 차수가 0이 된 정점을 큐에 삽입 큐가 빌 때까지 2번~3번 과정을 반복 모든 원소를 방문하기 전에 큐가 빈다면 사이클 존재 방문했다면 큐에서 꺼낸 순서가 위상 정렬의 결과 from collections import deque # 노드의 개수와 간선의 개수를 입력 받기 v, e = map(in.. 2022. 12. 10.
반응형