코딩테스트

SQL 문제풀이

[프로그래머스 SQL] LV.3 있었는데요 없었습니다

❓ Question ❗ Answer SELECT ins.animal_id, ins.name FROM animal_ins ins LEFT OUTER JOIN animal_outs outs ON ins.animal_id = outs.animal_id WHERE ins.datetime > outs.datetime ORDER BY ins.datetime; 📌 Discussion LEFT OUTER JOIN으로 JOIN 후에도 오른쪽 테이블의 값이 NULL인 레코드도 가져온다. WHERE로 JOIN 후 합쳐진 테이블에서 컬럼 데이터를 비교

SQL 문제풀이

[프로그래머스 SQL] LV.3 오랜 기간 보호한 동물(1)

❓ Question ❗ Answer SELECT ins.name, ins.datetime FROM animal_ins ins LEFT OUTER JOIN animal_outs outs ON ins.animal_id = outs.animal_id WHERE outs.datetime IS NULL ORDER BY ins.datetime LIMIT 3; 📌 Discussion LEFT OUTER JOIN으로 두 테이블을 결합하여 오른쪽 테이블이 NULL값인 레코드도 모두 불러옴 이 경우에 누락된 레코드가 적기에 WHERE절에서 추가 옵션을 줘서 레코드를 더 잘 활용할 수 있다. WHERE절에서 outs.datetim이 없는 레코드를 누락시킴 LIMIT 3로 상위 세가지 레코드만 추출

SQL 문제풀이

[프로그래머스 SQL] LV.2 진료과별 총 예약 횟수 출력하기

❓ Question ❗ Answer SELECT mcdp_cd '진료과코드', COUNT(*) '5월예약건수' FROM appointment WHERE DATE_FORMAT(apnt_ymd,'%Y%m') = '202205' GROUP BY mcdp_cd ORDER BY 5월예약건수, 진료과코드; 📌 Discussion DATE_FORMAT(apnt_ymd,'%Y%m') = '202205'로 조건 설정 LEFT로 '2022-05'로 시작하는 데이터라는 조건 설정해도 가능 GROUP BY로 무리짓고 COUNT로 집계 ORDER BY는 이미 불러온 레코드에 있는 열에 대해 정렬하므로 문자열로 열을 부르면 정렬 불가

SQL 문제풀이

[프로그래머스 SQL] LV.1 인기있는 아이스크림

❓ Question ❗ Answer SELECT flavor FROM first_half ORDER BY total_order DESC, shipment_id 📌 Discussion 정렬 시 여러개 column을 사용가능하나 column 별 정렬 정보를 바로 옆에 기재해주어야함

SQL 문제풀이

[프로그래머스 SQL] LV.2 입양 시각 구하기(1)

❓ Question ❗ Answer SELECT DATE_FORMAT(datetime, '%H') HOUR, COUNT(*) COUNT FROM animal_outs GROUP BY HOUR HAVING HOUR between 9 and 19 ORDER BY HOUR; 📌 Discussion date_fomat을 활용하여 datetime 형식 데이터를 변경하여 SELECT문에 활용 date format 데이터에서 시간만 뽑으려면 HOUR(datetime)도 가능 HOUR을 GROUP BY 후 COUNT 집계한 후 HAVING 조건문을 사용하여 조건에 맞는 컬럼만 보여준다. WHERE -> GROUP BY -> SELECT -> HAVING의 순서로 진행된다. BETWEEN A AND B에서는 A이상 B이..

SQL 문제풀이

[프로그래머스 SQL] LV.1 12세 이하인 여자 환자 목록 출력하기

❓ Question ❗ Answer SELECT pt_name, pt_no, gend_cd, age, IFNULL(tlno, 'NONE') tlno FROM patient WHERE age

파이썬 문제풀이

[백준 파이썬] 1931 회의실 배정

📌문제 출처 백준 단계별 문제풀이 - 그리디 알고리즘 https://www.acmicpc.net/problem/1931 ❓ 문제 ❗ 풀이 그리디 알고리즘 + list 정렬 📗 풀이 코드 import sys input = sys.stdin.readline # 1차로 시작 시간 순으로 정렬 meetings = sorted([list(map(int,input().split())) for _ in range(int(input()))]) # 2차로 종료 시간 순으로 정렬 meetings.sort(key=lambda x : x[1]) # 회의 개수와 최종 회의 종료 시간 cnt = last = 0 for sta,end in meetings: if last

파이썬 문제풀이

[백준 파이썬] 25682 체스판 다시 칠하기 2

📌문제 출처 백준 단계별 문제풀이 - 누적합 https://www.acmicpc.net/problem/25682 25682번: 체스판 다시 칠하기 2 첫째 줄에 정수 N, M, K가 주어진다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net ❓ 문제 ❗ 풀이 제일 가치가 큰 동전부터 최대로 채우기 📗 풀이 코드 import sys input = sys.stdin.readline # 체스판이 첫번째 칸과 같은지 다른지 확인하고 누적합을 생성하는 함수 def check_first(first_block): # 정상 체스판의 경우 행열 합이 짝수일 때 첫번째 칸과 같은 색이다. prefix_sum = [[0 for _ in range(m..

냄비짱
'코딩테스트' 태그의 글 목록 (27 Page)