[프로그래머스 SQL] CASE와 WHERE 차이점과 용도
·
프로그래머스
CASE와 WHERE의 차이는 목적과 동작 방식에서 크게 다릅니다. 1. CASE와 WHERE의 차이CASE는 데이터를 변형(가공)하는 용도로 사용됩니다. 즉, SELECT 절에서 특정 조건에 따라 값을 변환하거나 새로운 컬럼 값을 생성하는 데 사용됩니다.WHERE은 **필터링(데이터를 선택하는 용도)**로 사용됩니다. 즉, 특정 조건을 만족하는 행만 결과에 포함되도록 제한합니다. 2. 사용 예시 비교CASE 사용 예시 (데이터 가공)SELECT id, name, age, CASE WHEN age 📌 설명: age 값을 기준으로 나이를 그룹화하여 새로운 컬럼(age_group)을 생성합니다.WHERE 사용 예시 (데이터 필터링)SELECT id, nam..
[프로그래머스 MySQL] 가격대 별 상품 개수 구하기 - 쿼리 실행 순서와 함께 보자
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/131530 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT (CASE WHEN PRICE 쿼리 실행 순서 요약FROM → PRODUCT 테이블에서 데이터 로드CASE 문 실행 → PRICE_GROUP 값을 결정GROUP BY → PRICE_GROUP 별로 그룹화COUNT 계산 → 그룹별 PRODUCT_ID 개수 카운트SELECT → 최종 컬럼 선택 (PRICE_GROUP, PRODUCTS)ORDER BY → PRICE_GROUP 기준으로 정렬CASE 문이 PRICE_GROUP을 가공하는..
[프로그래머스][SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기
·
프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코드-- 코드를 입력하세요SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(MONTH(START_DATE)) AS RECORDSFROM CAR_RENTAL_COMPANY_RENTAL_HISTORY AS CRWHERE START_DATE >= "2022-08-01" and START_DATE = "2022-08-01" and START_DATE 4)GROUP..
[프로그래머스][SQL] 성분으로 구분한 아이스크림 총 주문량
·
프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/133026 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코드-- 코드를 입력하세요SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) as TOTAL_ORDERFROM FIRST_HALF as f, ICECREAM_INFO as iWHERE f.FLAVOR = i.FLAVORGROUP BY i.INGREDIENT_TYPE sugar_based와 fruit_based의 TOTAL_ORDER 합계를 출력하는 문제이기에 GROUP BY..
[프로스래머스][Python] 순위 - 코팩
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이 문제를 풀기 위해서 두 개의 그래프를 만들어줬다. 사람 A와 사람 B가 있을 때 A가 B를 이긴다고 하자. 한 그래프는 간선의 방향을 이기는 사람에서 지는 사람으로 가는 방향을 가진 그래프를, 다른 그래프는 반대의 방향을 가진 간선을 이용한 그래프를 만들어주었다. 이 두 그래프에서 한 노드에서 몇 개의 노드로 이동할 수 있는지 확인하여 개수가 자신을 제외한 모든 노드를 방문할 수 있다면 ..
[프로그래머스][Python] 단어 변환 - 코팩
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 주어진 문자열의 문자로 변환할 수 있는지 확인하는 문제이다. 문자마다 경유하는 루트가 다르기에 cost변수를 따로 추가해서 경유한 단어의 개수를 기록해주었다. BFS 알고리즘을 이용하기에 가장 먼저 target에 도달하는 루트가 최단 루트이다. from collections import deque def solution(begin, target, words): answer = 0 queue ..
[프로그래머스][Python] 게임 맵 최단거리 - 코팩
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 백준의 문제와 마찬가지로 단순하게 종점에 도달할 수 있는지와 소요되는 시간을 측정해주는 문제이기에 문제없이 풀어주면된다. from collections import deque def solution(maps): answer = 0 dxys = ((1,0),(0,1),(-1,0),(0,-1)) queue = deque([[0,0]]) n = len(maps) m = len(maps[0]) vis..
[프로그래머스][Python] 네트워크 - 코팩
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 백준을 풀면서 자주 나오는 유형인 그래프에서 싸이클 개수를 찾는 문제이다. BFS를 이용해서 문제없이 풀어주었다. from collections import deque def bfs(computer_li, visited, s): queue = deque([s]) visited[s] = True while queue: c = queue.popleft() for i in range(len(vis..
개발자 성현