[SQL 코드카타]
585. Investments in 2016
https://leetcode.com/problems/investments-in-2016/
1) 어떤 문제가 있었나
① 2015년에 투자한 액수가 다른 유저 1명 이상과 같고, ② 위도경도는 다른 유저와 같지 않은, 유저/들의 2016년 투자금 합계 구하기
2) 내가 시도해본 건 무엇인가
위도경도를 concat으로 합치고, cross join 하여 where 로 문제의 조건을 추출해보고자 했으나 실패
3) 어떻게 해결했나
tiv_2015와 위도경도를 각각 group by 하여 count한 값을 with 절로 빼고, 메인 쿼리에서 모두 조인 후 조건절 추가
with tiv_2015 as (select tiv_2015, count(*) 2015_cnt
from Insurance
group by tiv_2015),
location as (select concat(lat, '/', lon) location, count(*) lo_cnt
from Insurance
group by concat(lat, '/', lon))
select sum(tiv_2016) tiv_2016
from Insurance i
inner join tiv_2015 using (tiv_2015)
inner join location on concat(i.lat, '/', i.lon) = location
where 2015_cnt > 1 and lo_cnt < 2
4) 무엇을 새롭게 알았나
- join의 on조건에도 함수 적용이 가능
- with절로 뺀 쿼리를 where 절 내 서브쿼리(haivng조건 포함)로 만드는 것도 가능했음
[파이썬 코드카타]
1) 어떤 문제가 있었나
0부터 9까지 중 일부가 들어 있는 정수에 배열 중, 없는 숫자의 합계 구하기
2) 내가 시도해본 건 무엇인가
전체 값이 포함된 리스트에서 매개변수 리스트를 빼려고 했으나 실패
all_num - numbers (오류)
3) 어떻게 해결했나
for 문과 if 문을 활용해 없는 값을 더하도록 함
def solution(numbers):
all_num = list(range(0,10))
answer = 0
for num in all_num:
if num not in numbers:
answer += num
return answer
4) 무엇을 새롭게 알았나
- 0~9 전체 더한 값에서, 매개변수 합을 빼는 것도 가능. ex. 45 - sum(numbers)
'TIL' 카테고리의 다른 글
[240201-02] 머신러닝 - 회귀/분류 모델링 심화, 비지도 학습, 딥러닝 (0) | 2024.02.02 |
---|---|
[240201] 머신러닝 - EDA, 데이터 전처리(이상치/결측치/인코딩/스케일링/데이터분리) (1) | 2024.02.01 |
[240130-31] 머신러닝 - 선형회귀, 로지스틱회귀 (1) | 2024.01.31 |
[240130] SQL: 코드카타 117 & 파이썬: 코드카타 27 (0) | 2024.01.30 |
[240129] SQL: 코드카타 116 & 파이썬: 코드카타 25~26 (1) | 2024.01.29 |