문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/131118
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 코드
select
ri.rest_id,
ri.rest_name,
ri.food_type,
ri.favorites,
ri.address,
round(avg(rr.review_score), 2) as score
from REST_INFO ri
join REST_REVIEW rr on rr.rest_id = ri.rest_id
where ri.address like '서울%'
group by ri.rest_id
order by score desc, ri.favorites desc;
2. 분석
- 세번째 자리까지 반올림하는 것이 아니라 세번째 자리에서 반올림을 하는 것이므로 `round( , 2)`로 둘째 자리까지 나타내야한다.
- `ri.address like '%서울%'`로 하면 틀렸습니다가 나오는데 '전라북도 전주시 완산구 서울타워'와 같은 케이스가 있으므로 서울로 시작해야만 서울시 주소인 것으로 판단해야한다.
- `ri.address like '서울특별시%'`도 틀렸다는 판정이 나오는데 주소가 그냥 '서울시 관악구 ~~' 로 특별시가 붙지 않는 케이스가 있기 때문이다.
'코딩테스트 > 프로그래머스 SQL' 카테고리의 다른 글
| [프로그래머스 / MySQL] 연도별 대장균 크기의 편차 구하기 (Lv2 - 셀프조인, 윈도우 함수) (0) | 2026.03.01 |
|---|---|
| [프로그래머스 / MySQL] 가격이 제일 비싼 식품의 정보 출력하기 (Lv2 - MAX) (0) | 2026.02.06 |
| [프로그래머스 / MySQL] 3월에 태어난 여성 회원 목록 출력하기 (Lv2 - IS NOT NULL) (1) | 2026.01.09 |
| [프로그래머스 / MySQL] 강원도에 위치한 생산공장 목록 출력하기 (Lv1 - SELECT, LIKE) (0) | 2026.01.09 |
| [프로그래머스 / MySQL] 흉부외과 또는 일반외과 의사 목록 출력하기 (Lv1 - SELECT) (0) | 2026.01.08 |