코딩테스트

[26.02.02 코테(Python/MySQL)]-문자열 내 마음대로 정렬하기&서울에 위치한 식당 목록 출력하기

지니248 2026. 2. 2. 18:21

Lv1. 문자열 내 마음대로 정렬하기 (Python)

링크: https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

내가 작성한 코드

def solution(strings, n):
    return sorted(strings, key= lambda i: (i[n], i))
# sorted(): 리스트를 정렬한 새 리스트 반환
# key: 정렬 기준을 만들어주는 함수
# i: string 안의 각 문자열 하나
# i[n]: 문자열 i의 n번째 문자
# 각 문자열을 (n번째 문자, 문자열) 형태로 바꿔서 비교

Lv4. 서울에 위치한 식당 목록 출력하기 (MySQL)

링크: https://school.programmers.co.kr/learn/courses/30/lessons/131118

 

내가 작성한 풀이

-- 풀이1 (JOIN + WHERE)
SELECT I.REST_ID, I.REST_NAME, I.FOOD_TYPE, I.FAVORITES, I.ADDRESS, ROUND(AVG(R.REVIEW_SCORE), 2) AS SCORE
FROM REST_INFO I
JOIN REST_REVIEW R
  ON I.REST_ID = R.REST_ID
WHERE I.ADDRESS LIKE '서울%'
GROUP BY I.REST_ID, I.REST_NAME, I.FOOD_TYPE, I.FAVORITES, I.ADDRESS
ORDER BY SCORE DESC, FAVORITES DESC;

-- 풀이2 (서브쿼리 서울 필터링)
SELECT S.REST_ID, S.REST_NAME, S.FOOD_TYPE, S.FAVORITES, S.ADDRESS, ROUND(AVG(R.REVIEW_SCORE), 2) AS SCORE
FROM (SELECT REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS
      FROM REST_INFO
      WHERE ADDRESS LIKE '서울%') S
JOIN REST_REVIEW R
  ON S.REST_ID = R.REST_ID
GROUP BY S.REST_ID, S.REST_NAME, S.FOOD_TYPE, S.FAVORITES, S.ADDRESS
ORDER BY SCORE DESC, S.FAVORITES DESC