본문 바로가기

전체 글

(63)
[Python] Lambda(람다) 표현식 💡 Lambda 표현식 람다 표현식은 익명 함수를 만드는 방법이다. def를 사용하여 함수를 만드는 것과 달리 lambda를 통해 만든 함수는 이름이 따로 없다. 즉, 호출 과정을 거치지 않아 다른 함수의 인수로 넣을 때 자주 사용한다. 표현식은 다음과 같다. lambda 인수:표현식 인수를 여러개 넣을 수 있으며 표현식에는 반드시 lambda 내의 인수만 사용 가능한다. 예시 람다 표현식으로 간단한 덧셈 함수를 만들어 보면 add3 = lambda x:x+3 add3(1) # 실행 결과 # 4 람다 표현식은 변수에 할당해주지 않으면 호출할 수 없기에 add3라는 변수에 할당하였다. add3(1)을 실행한 결과, input 1에 3을 더한 4가 반환된다. 람다 표현식은 map, sort 등 다른 함수들과..
[Python] join 함수 💡 join 함수 join 함수는 input으로 들어온 리스트를 합쳐주는 함수이다. 함수의 형태는 다음과 같다. '구분자'.join([리스트]) 실행 결과, 리스트 안의 요소들을 구분자를 사용해 하나의 string으로 반환해준다. 예시 list = ['j', 'o', 'i', 'n'] str = ''.join(list) # 출력 결과 # join list2 = ['j', 'o', 'i', 'n'] str2 = ','.join(list) # 출력 결과 # j,o,i,n 구분자로 개행문자도 사용이 가능하다. (\n, \t 등) 알고리즘 문제를 풀다보면 join함수를 이용해 int 자료형을 이어붙이는 경우도 종종 있는데 아래 코드와 같이 사용하면 된다. numbers = [3, 13, 42, 51] n = ..
[ML] Linear Regression, 선형회귀 💡 Linear Regression Linear Regression, 선형회귀는 Supervised learning(지도학습) 방법 중 하나로 데이터를 가장 잘 대변하는 하나의 직선을 찾는 알고리즘이다. 임의의 data에 대한 선형 회귀 결과를 보자. 아래 그림에서 점들은 data, 파란 직선은 data들을 가장 잘 표현하는 직선이라고 할 수 있다. 이처럼 선형회귀는 $x$와 $y$의 관계를 보여주는 것으로 $x$는 독립 변수, $y$를 종속 변수라고 한다. Hypothesis 선형회귀를 통해 직선을 유추해내기 위해 세우는 식을 Hypothesis, 가설이라고 한다. 가설은 $H(x) = W(x) + b$의 형태이며, 이때 $W$는 Weight(가중치), $b$는 bias(편향)이다. Cost Funct..
[Python] 가장 큰 수 (프로그래머스) 문제 링크 : 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 💡 풀이 # 처음 풀이 de..
[Python] 단속카메라 (프로그래머스) 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항 차량의 대수는 1대 이상 10..
[Python] 구명보트 (프로그래머스) 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보..
[Python] 이중우선순위큐 (프로그래머스) 문제 링크 :https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. o..
[SQLD] 데이터 모델과 SQL 데이터 정규화 데이터 정합성 위해 엔터티 작은 단위로 분리하는 과정 데이터 입력, 수정, 삭제 성능 향상 데이터 조회 성능 저하 가능성 존재 제 1 정규형 다중값 속성 제거 → 모든 속성이 단일값만 가짐 제 2 정규형 주식별자가 복합식별자인 경우 (속성들의 집합이 주식별자를 이루는 경우) 부분적 함수 종속 제거 부분적 함수 종속 → 일반속성이 주식별자의 일부에만 종속되는 경우 제 3 정규형 이행적 함수 종속 제거 이행적 함수 종속 → 주식별자가 아닌 속성간의 종속 관계 주의 사항 정규화 결과 JOIN 연산 증가로 인한 성능 저하 발생 가능 → 반정규화 통해 성능 개선 가능 반정규화 데이터 조회 성능 향상 위해 데이터 중복 허용 또는 데이터 그룹핑하는 과정 데이터 조회 성능 향상 데이터 입력, 수정, 삭제..