일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- it모임
- airflow
- 네트워킹모임
- 취준생
- sql
- 데이터
- 비즈니스분석가
- 데이터엔지니어링
- 회고글
- 취준
- 코딩테스트
- 생활코딩
- 유데미
- 테크커리어
- HTML
- 코테
- 데잇걸즈
- 행사후원
- 해커랭크
- hackerrank
- 오라클
- 데잇걸즈6기
- 데이터분석
- SQLD
- 윈도우함수
- Oracle
- 회고
- 커리어브랜딩
- 도서출판길벗
- 주간회고
- Today
- Total
목록코딩테스트 (7)
Dream Lovers

문제 상황 non_evil 인 지팡이 중에서 high power & age인 id, age, coins_needed, power를 출력하라. 이 때, code와 age는 일대일 대응이다. 즉, code가 동일하면 age도 동일하다. vice versa 정렬은 1순위로 power 내림차순 , 2순위로 age 내림차순 해결 과정 SELECT w.id, wp.age, w.cn, w.power FROM (SELECT id, code, MIN(coins_needed) as cn, power FROM Wands GROUP BY code, power) w INNER JOIN Wands_Property wp ON w.code = wp.code WHERE is_evil = 0 ORDER BY w.po 위 코드를 이용하면..

문제 상황 프로젝트별로 시작 일자, 끝난 일자를 추출할 것 연속된 날짜가 있으면 동일 프로젝트로 간주한다. 프로젝트 소요 기간 오름차순(시간이 적게 걸린 것부터) , 시작 날짜 정렬하기 해결 방법 이전에는 start_date, end_date 에서 동일한 날짜끼리 join 시키고, 조인 되지 않은 것들만 어떻게 추출해야하지 생각했었는데, 뾰족한 답이 나오지 않았다. 그러다가 하나의 프로젝트 시작~끝을 따져봤을 때, '실제 시작' 날짜는 end_date 컬럼에 존재하지 않음을 발견했다. '실제 끝' 날짜도 마찬가지로 start_date 컬럼에는 해당 날짜가 존재하지 않았다. end_date 컬럼에만 있었다. 이를 바탕으로 처음 시도했던 쿼리는 다음과 같다. SELECT Start_Date, End_Date..

문제상황) 노드별로 root / inner / leaf 구분하기 해결방법) root / inner / leaf 별 특징 파악하기 root : parent는 없고, 자식(n)들만 존재 inner: 부모(p), 자식(n) 둘다 존재 leaf: n만 존재 B1.N=B2.P인 조건을 이용해 셀프 조건을 시켜본다. B1.N B1.P B2.N B2.P 1 2 null null 3 2 null null 6 8 null null 9 8 null null 2 5 1 2 2 5 3 2 8 5 6 8 8 5 9 8 5 null 2 5 5 null 8 5 ROOT : B1.P가 null 일 때 INNER : B1.P IS NOT NULL AND B2.P IS NOT NULL / root랑 leaf에 대한 조건을 줬다면 els..

[문제 상황] Doctor, Professor, Singer, and Actor 순서대로 피벗 테이블 만들기. 단, 이름 나열이 끝난 열이 있으면 NULL 값을 출력할것. The output column headers should be Doctor, Professor, Singer, and Actor, respectively. Note: Print NULL when there are no more names corresponding to an occupation. 내 풀이 WITH d AS (SELECT ROW_NUMBER() OVER (ORDER BY name) rank_d, name , occupation FROM occupations WHERE occupation='Doctor' ORDER BY n..

[문제 상황] 자신보다 친구가 더 많은 샐러리를 받고 있는 경우, 본인의 이름을 추출할 것. 정렬은 친구의 샐러리 순대로 내림차순 [시도해 본 풀이] 우선, packages를 두 번 조인해서 한 번은 자기 샐러리랑 엮고, 한 번은 친구 샐러리랑 엮어서 비교할 수 있게하는 테이블을 생성해야한다고 생각했다. 테이블 생성해서 확인해보니 이름, 내 샐러리, 친구 id, 친구 샐러리 순으로 잘 추출되었다. SELECT s.name , p1.salary, f.id, p2.salary FROM students s INNER JOIN packages p1 ON s.id = p1.id INNER JOIN friends f ON f.id = s.id INNER JOIN packages p2 ON p2.id = f.frie..

문제 : full-score로 문제 푼 유저들 추출, 단 2번 이상 해당 조건으로 제출한 사람들 부터 추출 순서는 제출id -> hacker_id 순으로 분류할 것 SELECT h.hacker_id , h.name FROM submissions s INNER JOIN Hackers h ON s.hacker_id = h.hacker_id INNER JOIN Challenges c ON s.challenge_id = c.challenge_id INNER JOIN Difficulty d ON c.difficulty_level = d.difficulty_level WHERE s.score = d.score GROUP BY h.hacker_id, h.name HAVING COUNT(DISTINCT s.submis..

SELECT CITY FROM STATION WHERE CITY NOT LIKE '%a' OR CITY NOT LIKE '%e' OR CITY NOT LIKE '%i' OR CITY NOT LIKE '%o' OR CITY NOT LIKE '%u' OR CITY NOT LIKE 'A%' OR CITY NOT LIKE 'E%' OR CITY NOT LIKE 'I%' OR CITY NOT LIKE 'O%' OR CITY NOT LIKE 'U%' 처음에 시도했던 쿼리인데. 내가 설정했던 쿼리는 '모음으로 시작하지도 않는 것 하나' OR '모음으로 끝나지 않는 것 하나'의 조건이 아니었다. 여기서 모든 모음에 대해 OR을 전부 다 사용했기 때문에, 결과에 30번 같이 A로 시작해서 a로 끝나는 컬럼도 나타났다. ..