
많이 늦은 글이다. 며칠 안쓴게 정말 역체감이 들 정도로 느낌이 이상하다.
프로젝트 관련 작업을 하느라 한동안 소홀히 한 점이 크다.
그렇지만, 코드카타는 계속 되어야만 한다. 안한거는 안한거고, 게으른게 문제...
게으르지 말자 내 자신....!
알고리즘 문제(Python)
알고리즘 문제: 부족한 금액 계산하기
문제를 파악하자
원래 놀이기구 이용료는 price원인데 놀이기구를 n번 이용할 때마다 n배로 내야한다.
놀이기구를 n번 타게 될 때, 금액에서 얼마가 모자른지 출력(안모자르면 0으로 반환)
어떻게 풀어야할까?
금액, 돈, 횟수를 적당히 잘 활용해 써야한다
for 반복문과 변수지정을 잘 해야... 안꼬인다
문제를 풀어보자
answer = 0 : 전역변수 지정
for n in range(1, count+1): : range를 이용해서 횟수(count)를 for구문으로 반복한다
answer += price*n : 요금과 탄 횟수를 곱해서 answer에 더한다
pay = answer - money : answer의 값에서 가진돈(money)를 뺀 값을 pay라는 변수에 지정
return pay if pay > 0 else 0
pay가 0보다 클 때, pay를 출력하고 아닐 때(0일 때) 0으로 출력
SQL 문제
SQL 문제: 상품 별 오프라인 매출 구하기
문제를 파악하자
두 테이블에서 상품코드 별 매출액의 합계를 출력해야한다.
매출액 기준 내림차순 정렬, 금액이 같으면 코드기준 오름차순
어떻게 풀어야할까?
이렇게 되면 두 테이블의 공통된 정보가 필요하므로 inner join을 써야하고
group by와 order by를 써보자
문제를 풀어보자
조회할 컬럼: product_code, 매출액
가져올 테이블: product, offline_sale
그룹지을 컬럼(group by): product_code
정렬할 컬럼(order by): 매출액
inner join
product as a inner join offline_sale as b on a.product_id=b.product_id
두 테이블의 공통된 정보를 가져와야하므로 inner join
두 테이블의 공통된 컬럼은 product_id로 이걸로 묶어준다.
각 절별 조회
select
a.product_code : a테이블의 product_code
sum(a.price*b.sales_amount) as sales
a테이블 price와 b테이블의 sales_amount를 곱한 값을 더한 것 -> sales 라는 별명
group by
a.product_code : 상품 별 ~ 이라고 했으니 a테이블의 product_code가 기준
order by
sales(매출액)기준 내림차순 desc, product_code기준 오름차순 asc
'[내일배움캠프 코드카타]' 카테고리의 다른 글
[QA/QC_2기]아침을 깨우는 코드카타(6-15) (2) | 2025.06.18 |
---|---|
[QA/QC_2기]아침을 깨우는 코드카타(6-14) (2) | 2025.06.17 |
[QA/QC_2기]아침을 깨우는 코드카타(6-12) (1) | 2025.06.13 |
[QA/QC_2기]아침을 깨우는 코드카타(6-11) (2) | 2025.06.12 |
[QA/QC_2기]아침을 깨우는 코드카타(6-10) (0) | 2025.06.11 |