Lv1. 추억 점수 (Python)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/176963
내가 작성한 코드
def solution(name, yearning, photo):
answer = []
score = dict(zip(name, yearning))
# {이름:그리움 점수} 형태의 딕셔너리 생성
# photo는 2차원 리스트이므로 사진 한 장씩 순회
for one_photo in photo:
total = 0 # 현재 사진의 추억 점수 0으로 초기화
# 사진 속 인물 한 명씩 확인
for person in one_photo:
total += score.get(person, 0) # person이 score딕셔너리에 있으면 해당 점수, 없으면 0점을 더함
answer.append(total)
return answer
Lv2. 노선별 평균 역 사이 거리 조회하기 (MySQL)
링크: https://school.programmers.co.kr/learn/courses/30/lessons/284531
내가 작성한 코드
-- 풀이1 (ROUND + CONCAT)
SELECT ROUTE
,CONCAT(ROUND(SUM(D_BETWEEN_DIST), 1), 'km') AS TOTAL_DISTANCE
,CONCAT(ROUND(AVG(D_BETWEEN_DIST), 2), 'km') AS AVERAGE_DISTANCE
FROM SUBWAY_DISTANCE
GROUP BY ROUTE
ORDER BY SUM(D_BETWEEN_DIST) DESC;
-- 풀이2 (서브쿼리)
SELECT ROUTE
,CONCAT(ROUND(TOTAL_DIST, 1), 'km') AS TOTAL_DISTANCE
,CONCAT(ROUND(AVG_DIST, 2), 'km') AS AVERAGE_DISTANCE
FROM (SELECT ROUTE
,SUM(D_BETWEEN_DIST) AS TOTAL_DIST
,AVG(D_BETWEEN_DIST) AS AVG_DIST
FROM SUBWAY_DISTANCE
GROUP BY ROUTE) T
ORDER BY TOTAL_DIST DESC;
-- Oracle에서의 문자열 연결
-- ROUND(SUM(D_BETWEEN_DIST), 1) || 'km' AS TOTAL_DISTANCE
Oracle에서는 문자열 연결에 CONCAT 대신 || 연산자를 사용한다
'코딩테스트' 카테고리의 다른 글
| [02.06 코테(MySQL/Oracle)]-5월 식품들의 총매출 조회하기 (0) | 2026.02.06 |
|---|---|
| [26.02.04 코테(MySQL/Oracle)]-보호소에서 중성화한 동물 (0) | 2026.02.04 |
| [26.02.02 코테(Python/MySQL)]-문자열 내 마음대로 정렬하기&서울에 위치한 식당 목록 출력하기 (0) | 2026.02.02 |
| [26.01.30 코테(Python/MySQL)]-명예의 전당(1)&식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2026.01.30 |
| [26.01.29 코테(Python/MySQL)]-콜라 문제&있었는데요 없었습니다 (0) | 2026.01.29 |