프로그래머스 6

[프로그래머스] K번째수 #정렬 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약주어진 배열 array에서 특정 구간 [i, j]을 잘라 정렬한 후, k번째 숫자를 구한다.제한사항• array의 길이는 1~100• commands의 길이는 1~50• array의 원소 값과 i, j, k 값은 1~100 ☑️  KEY 포인트문제 풀이 과정을 먼저 생각한다.array의 i번째부터 j번째까지 슬라이싱자른 배열을 정렬정렬된 배열에서 k번째 숫자를 찾음위 과정을 commands에 있는 모든 [i, j, k]에 대해 수행하여 결과 배열을 반환위 과정을 코드로 구현한다.리스트 슬라이싱 활용(array[i-1:j]) - 리스트 인덱스는 0부터 시작하므로 i에서 1을 빼준다.반복문을 통해서 commands 안에 있는 리스트들(개별 command)로 모두..

[프로그래머스] 폰켓몬 #해시 #알고리즘

문제 바로가기 👉 프로그래머스☑️  문제 요약당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.1. N마리의 폰켓몬 중 N/2마리를 선택할 때, 최대한 다양한 종류를 선택해야 한다.2. 같은 번호의 폰켓몬은 같은 종류로 간주된다.3. 선택할 수 있는 폰켓몬의 최대 종류 개수를 반환해야 한다.4. nums 배열의 길이 N은 1 이상 10,000 이하의 짝수이며, 폰켓몬 번호는 1 이상 200,000 이하이다.5. 최적의 선택 방법이 여러 개여도, 최대 종류 개수 하나만 반환한다. ☑️  KEY 포인트동일한 배열에서 같은 폰켓몬 종류를 제외한, Unique한 종류 개수..

[TIL] SELECT절에서 서브쿼리 활용하여 비율 구하기 # MySQL # SQL

Programmers Lv5 - 상품을 구매한 회원 비율 구하기👉 문제 바로가기(Programmers)-- 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력SELECT YEAR(t2.SALES_DATE) as YEAR, MONTH(t2.SALES_DATE) as MONTH, COUNT(DISTINCT t2.USER_ID) as PURCHASED_USERS, ROUND(COUNT(DISTINCT t2.USER_ID) / (SELECT COUNT(DISTINCT USER_ID) FROM USER_INFO WHERE JO..

DA Study/TIL 2025.02.04

[TIL] 입양 시각 구하기(2) # MYSQL

Programmers Lv.4 - 입양 시각 구하기(2)👉 문제 바로가기(프로그래머스) # 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회# 결과는 시간대 순으로 정렬WITH RECURSIVE numbers AS ( SELECT 0 AS HOUR UNION ALL SELECT HOUR + 1 FROM numbers WHERE HOUR [ 논리 과정 ]주어진 ANIMAL_OUTS 데이터 테이블에 0~23시까지 모든 시간대 데이터 미존재0~23시 명시된 임시 데이터 테이블 생성ANIMAL_OUTS 테이블 시간대로 그룹핑2번에서 생성한 임시 테이블과 3번에서 그룹핑한 데이터 JOIN하여 결과물 출력[ 문제 상황 ]ANIMAL_OUTS 테이블에 0~23시의 ..

DA Study/TIL 2024.12.17

[TIL] 그룹별 조건에 맞는 식당 목록 출력하기 # MYSQL

Programmers Lv.4 - 그룹별 조건에 맞는 식당 목록 출력하기👉 문제 바로가기(프로그래머스) # 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회# 회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성# 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬SELECT t3.MEMBER_NAME, t5.REVIEW_TEXT, DATE_FORMAT(t5.REVIEW_DATE, '%Y-%m-%d') as REVIEW_DATEFROM MEMBER_PROFILE t3,(SELECT t1.MEMBER_ID FROM (SELECT MEMBER_ID, COUNT(*) as COUNT ..

DA Study/TIL 2024.12.17