내일배움캠프
-
[Python] 파이썬 문제 해결 전략 (1)내일배움캠프/Python 2024. 7. 8. 21:49
파이썬 코딩 문제가 갈수록 어려워지면서기초를 탄탄하게 해야할 필요성을 느끼고 있습니다.프로그래머스의 lv.0 난도 200문제와 lv.1 난도 문제를 7월 동안 다 풀기로 결심했습니다.문제를 풀고 다른 사람들의 풀이를 보고 알게된 내용은블로그에 작성하려고 합니다. 루트 표현식라이브러리를 불러와 math.sqrt를 이용해서 문제를 풀었습니다.(n ** 0.5)을 하면 라이브러리를 불러오지도 않고도 루트를 작성할 수 있습니다. 리스트 컴프리헨션특정한 리스트에 대해서 특정 조건을 만족하는 리스트 요소만 반환하기[표현식 for 항목 in 반복가능객체 if 조건문] 형태를 가짐 예시 1)def solution(numbers): return [num*2 for num in numbers] 예시 2)mat..
-
[SQL] Left Join (2)내일배움캠프/SQL 2024. 7. 5. 21:35
어제에 이어서 left join 난이도 지옥 문제 하나를 풀어보도록 하겠습니다! https://school.programmers.co.kr/learn/courses/30/lessons/157339 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제가 다른 문제들과 다른 점은 일단 테이블이 3개나 있다는 것입니다...각 테이블마다 자료도 많아서 파악하는데 오랜 시간이 걸렸습니다.그래도 이런 문제가 데이터 분석 실무에 더 가깝지 않을까요? 각설하고, 문제를 요약해보면 다음과 같은 조건을 요구하는 것을 알 수 있습니다. 1) 자동차 종류가 '세단' 또..
-
[SQL] Left Join (1)내일배움캠프/SQL 2024. 7. 4. 21:24
SQL에서 join은 여러 테이블을 결합해주는 역할을 합니다.여러 테이블에서 일치하는 컬럼들을 찾아 그 칼럼에 공통으로 존재하는 행들만 결합하여 출력합니다. select 컬럼1, 컬럼2... from 테이블1 as a join 테이블2 as bon a.공통컬럼=b.공통컬럼 위와 같은 문법을 갖고 있습니다. 테이블1과 테이블2의 공통 칼럼에 있는 공통 값들의 행을 출력해줍니다. select 컬럼1, 컬럼2... from 테이블1 as 테이블명1left join 테이블2 as 테이블명2on a.공통컬럼=b.공통컬럼 left join의 경우에는 공통칼럼에서 테이블1에만 있는 값의 행들만 출력해줍니다.테이블2에 없는 행의 값은 NULL값이 출력됩니다. 이번에는문제를 풀며 살펴봅시다. http..
-
[Python] Lambda 함수내일배움캠프/Python 2024. 7. 2. 21:33
코드카타를 풀고나서 다른 사람들의 풀이를 보면 특출하게 짧은 코드들이 눈에 띕니다.그 코드들을 살펴보면 공통적으로 lambda라는 코드가 있습니다. lambda가 뭘까요?그리고 어떻게 사용해야할까요? Lambda 함수? lambda 함수는 사용자 정의 함수 def와 동일한 역할을 합니다.함수에 이름을 부여하지 않고, 일회성 사용을 한다는 차이점이 있습니다. 다음의 코드들을 보면 lambda 함수가 어떤 것인지 감을 잡을 수 있습니다. 먼저 더하기를 사용자 정의 함수 def로 작성했을 때는 def add(a, b): return a+b 위의 코드와 같습니다. add는 함수의 이름이고,향후에 필요시 함수와 매개 변수 a, b를 입력하여 재활용할 수 있습니다. 한편 더하기를 lambda 함수로 ..
-
[SQL] 서브쿼리(Subquery)가 너무 어려워서 작성한 글내일배움캠프/SQL 2024. 7. 1. 21:07
할 게 없으면 미리 코드카타를 풀어보라는 튜터님의 말씀을 듣고 열심히 코드카타를 풀고 있습니다.대부분 무난했지만 서브쿼리가 자꾸 저를 괴롭힙니다...그래서 온라인 세션과 강의를 듣고 간단하게 요약해보았습니다... 서브쿼리란?서브쿼리는 중첩된 쿼리로, 하나의 SQL 문장 안에 다른 SQL 문장이 포함된 형태를 말합니다. 목적보통 다른 쿼리의 조건이나 결과를 기반으로 데이터를 조회하거나 계산할 때 사용합니다.쿼리의 결과값을 가지고 추가 연산도 할 수 있습니다. 장점여러 번 실행해야하는 쿼리문을 1번만 수행하게 합니다.단계별로 복잡한 식을 풀어서 간단하게 표현할 수 있습니다. 방법활용해야할 데이터를 서브쿼리로 만들어주고이 데이터를 본 쿼리에 넘겨줍니다. 간단하게 데이터를 1차적으로 필터링해준다고 생각하면..
-
[SQL] 식품분류별 가장 비싼 식품의 정보 조회하기내일배움캠프/SQL 2024. 6. 27. 21:37
내일배움캠프에서는 매일매일 코드카타 문제를 풉니다.거침없이 풀다가 이번 문제에서 막혀서 눈물이 좀 났습니다...제가 시도했던 방법들이 왜 먹히지 않았는지그리고 앞으로 이런 문제를 만났을 때어떻게 대처해야하는지 분석을 해보려고 합니다. 오답 1. Group by와 Having을 사용 SELECT food_type, rest_id, rest_name, favoriteFROM rest_info GROUP BY food_typeHAVING MAX(favorites) 이 코드를 실행시켜본 결과는... 먼저 rest_info에서 음식 타입별로 그룹을 잘 나누어 주었습니다.그리고 HAVING으로 그룹에 대한 조건 MAX(favorites)을 줬습니다.그런데 이상하게도 일식의 경우만 max(favorites)에 해..
-
(아티클) SQL 가독성을 높이는 사소한 습관내일배움캠프/Article Study 2024. 6. 26. 21:37
1. 예약어와 함수는 대문자로 SQL 에디터가 예약어를 색으로 강조해주기 때문에 굳이 대문자로 쓰지 않아도 잘 보이긴 합니다.하지만 사용자가 사용하는 에디터의 규칙과 DB 종류가 달라 함수들의 이름도 약간씩 다르기 때문에 제대로 강조되지 않는 경우가 많습니다.그래서 예약어와 함수 이름 등을 대문자로 사용해주면 좋습니다. select c.customer_id, c.customer_name, count(o.order_id) as order_count, sum(o.total_amount) as total_spent from customers c inner join orders o on c.customer_id = o.customer_id where c.customer_status = 'active' and o..
-
[Python] 행렬의 덧셈내일배움캠프/Python 2024. 6. 25. 15:40
문제행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. ex) arr1 = [[1, 2], [2, 3]], arr2 = [[3, 4], [5, 6]] ➡️ [[4, 6], [7, 9]] arr1 = [[1], [2]], arr2 = [[3], [4]] ➡️ [[4], [6]] 이 문제를 보고 바로 numpy 라이브러리가 떠올랐습니다. numpy는 대규모 다차원 배열과 행렬과 계산을 지원하는 대표적인 라이브러리이기 때문입니다. 웹 크롤링을 하고 얻은 데이터들을 numpy의 array에 담아서 분석을 하고,머신러닝에서는 데이터 전처리..