반응형

전체 글 366

[프로그래머스] 카테고리 별 도서 판매량 집계하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/144855 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ 총 판매량을 구해야 하기 때문에 SALES의 SUM을 TOTAL_SALES로 받아옴 ★ COUNT 함수는 칼럼 내 레코드의 개수를 가져오는 함수, SUM 함수는 칼럼 내 레코드 값의 총합을 내주는 함수 ★ 2022년 1월의 자료가 필요하기 때문에 SALES_DATE 칼럼의 데이터 중, 2022-01로 시작하는 데이터만 추출 ★ CATEGORY 별로 그룹핑 ★ COUNT, SUM..

[프로그래머스] 평균 일일 대여 요금 구하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/151136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ AVG() 함수를 사용하여 일일 대여 요금의 평균 값을 구해줍니다 ★ ROUND()함수를 통해 구한 값을 소수 첫번째 자리에서 반올림 해줍니다. ★ 데이터를 추출할 때 CAR_TYPE이 'SUV'인 것만 추출합니다.

[백준 알고리즘] 4796번: 캠핑 (Python)

https://www.acmicpc.net/problem/4796 4796번: 캠핑 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다. www.acmicpc.net 문제 등산가 김강산은 가족들과 함께 캠핑을 떠났다. 하지만, 캠핑장에는 다음과 같은 경고문이 쓰여 있었다. 캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있습니다 강산이는 이제 막 28일 휴가를 시작했다. 이번 휴가 기간 동안 강산이는 캠핑장을 며칠동안 사용할 수 있을까? 강산이는 조금 더 일반화해서 문제를 풀려고 한다. 캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는..

Algorithm/백준 2023.04.19

[백준 알고리즘] 1439번: 뒤집기 (Python)

https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 문제 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집으면..

Algorithm/백준 2023.04.18

[백준 알고리즘] 2217번: 로프 (Python)

https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k ..

Algorithm/백준 2023.04.18

[프로그래머스] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기(Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/151137 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ %특정 문자열%: 특정 문자열을 포함하는 데이터 검색 ★ 특정 문자열%: 특정 문자열로 시작하는 데이터 검색 ★ %특정 문자열: 특정 문자열로 끝나는 데이터 검색 ★ OR을 사용한 뒤 계속해서 조건을 부여할 때, 똑같은 칼럼이라고 해서 '칼럼명 LIKE'를 생략하면 안됨 - 칼럼명 LIKE ' 문자열' OR 칼럼멸 LIKE ' 문자열' ★ CAR_TYPE으로 데이터를 그룹화. ..

[프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ 서브쿼리문으로 2022년 8월 ~ 2022년 10월 사이의 총 대여 횟수가 5회 이상인 CAR_ID를 정렬. ★ 정렬한 데이터에서 시작 날짜인 START_DATE가 8월에서 10월 사이에 있는 것만 출력 ★ MONTH, CAR_ID 순으로 정렬 ★ 이 중 RECORDS가 최소한 1이상인 것들만 출력 ★ MONTH를 기준으로 오름차순, CAR_ID를 기준으로 내림차순 출력

[프로그래머스] 자동차 대여 기록에서 대여중/대여 가능 여부 구분(Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ CASE WHEN 구문을 사용하여 조건에 맞으면 '대여중', 아니면 '대여 가능 출력 ★ SELECT 문 안에 서브 쿼리를 작성. 구하고자 하는 CAR_ID의 년,월,일이 START_DATE와 END_DATE 사이에 있으면 조건에 맞음. 아니면 ELSE를 통해 대여 가능 출력 ★ CAR_ID를 기준으로 그룹핑 참고하면 좋을 자료 - case when https://extbrai..

[프로그래머스] 조건에 부합하는 중고거래 댓글 조회하기 (Mysql)

문제설명 다음은 중고거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고거래 게시판 첨부파일 정보를 담은 USED_GOODS_REPLY 테이블입니다. USED_GOODS_BOARD 테이블은 다음과 같으며 BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS은 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미합니다. Column name Type Nullable BOARD_ID VARCHAR(5) FALSE WRITER_ID VARCHAR(50) FALSE TITLE VARCHAR(100) FALSE CONTENTS VARCHAR(1000) FALSE PRICE NU..

[프로그래머스] 조건에 맞는 사용자와 총 거래금액 조회하기 (Mysql)

문제 설명 문제 예시 소스코드 SELECT U.USER_ID, U.NICKNAME, SUM(B.PRICE) AS TOTAL_SALES FROM USED_GOODS_BOARD AS B JOIN USED_GOODS_USER AS U ON B.WRITER_ID = U.USER_ID WHERE B.STATUS LIKE 'DONE' GROUP BY U.USER_ID HAVING TOTAL_SALES >= 700000 ORDER BY TOTAL_SALES 풀이 - 상품 금액의 합을 total_sales라는 변수로 저장 - 거래 상태가 'done'인 것들만 추출 - 거래가 완료된 상품을 기준으로 user_id로 그룹핑을 하고, total_sales가 70만원 이상인 것들만 추출 - total_sales 기준으로 오름..

반응형