분류 전체보기
-
[Python] 파이썬 소수 구하기 알고리즘내일배움캠프/Python 2024. 7. 24. 21:31
그 동안 소수 구하는 문제를 만나면항상 시간 복잡도 때문에 고통을 받았습니다. 그 동안은 어찌저찌 넘어왔으나이번에는 소수 구하기 단 한 문제로 하루 종일 고통을 겪었습니다. 그래서 이번에는 소수 구하는 방법에 대해서 확실히하고 넘어가야겠다는 생각이 들었습니다.. 저번에 쓴 글 파이썬 문제해결전략에서소수와 관련된 문제를 풀기 위해서는 "에라토스테네스의 체"를알고리즘으로 구현해야할 필요성에 대해 역설했습니다. 그래서 저는 이번에"에라토스테네스의 체" 개념을 이용해서문제를 풀기 위해 시도해봤습니다. 먼저 "에라토스테네스의 체" 개념을 간략하게 설명하자면..소수의 배수들을 제외시키는 것입니다. 비유하자면 체에 모래를 넣었을 때고운 모래만 나오는 것처럼 숫자를 넣었을 때소수만 빠져나오는 것는 것입니다. ..
-
[Pandas] 집계함수 살펴보기내일배움캠프/Python 2024. 7. 22. 21:27
오늘은 pandas의 집계함수인 pivot, pivot_table 그리고 groupby에 대해서알아보려고 합니다. 얼핏보면 비슷하지만 많이 달라서 자세하게 알고 있어야나중에 필요할 때 제대로 사용할 수 있 수 있습니다. 일단 오늘 사용할 데이터 프레임 하나를 만들었습니다.날짜와 지역, 그리고 카테고리별로 판매량과 이익이 나와있습니다. Pivot pivot 테이블은 복잡한 데이터 프레임에서필요한 몇 개의 행과 열을 가져와새로운 데이터 프레임을 가져오는 역할을 합니다. pivot은데이터프레임 명.pivot(index = '인덱스 명', columns = '컬럼 명', values = '값 명')문법을 가지고 있습니다. 날짜를 인덱스로 지역을 컬럼으로 총판매를 값으로 넣어서새로운 데이터프레임을 만들어..
-
[Python] for문에서 리스트를 사용할 때 주의해야하는 것내일배움캠프/Python 2024. 7. 19. 21:27
for문에서 반복 가능한 객체의 요소 삭제 for i in section: for j in section: if j in range(i,i+m) section.remove(j) cnt += 1 for문은 반복 가능한 객체의 요소를 할당해서 반복을 하게 되는데요,요소를 삭제하게 되면 원하는 결과가 나오지 않을 수도 있습니다. 그 이유는 for문이 요소를 가져오는 방법에 의해 생기는 것입니다. 반복 가능한 객체 section에서 직접 요소를 가져오는 방식인for i in section이든반복 가능한 객체 section에 인덱스 번호를 할당하여 불러오는 방식인for i in range(len(section))이든for문은 해당 반복 가능..
-
[Python] 파이썬 문제 해결 전략 (5)내일배움캠프/Python 2024. 7. 18. 21:26
# 공백 없애주기a = ‘ 1 2 34 ‘a.split() => ['1', '2', '34'] 여러 개의 구분자로 문자열을 나눌 때구분자를 공백으로 바꿔주고공백을 split으로 없애주는 방법이 많이 쓰임 # 정렬solution=lambda a,n:sorted(a,key=lambda x:(abs(x-n),x))[0] 하나의 기준으로 정렬할 때 같은 값이 나온 경우, 추가적인 기준을 주는 법 # 딕셔너리 get 함수C = years.get(‘c’, ‘nothing’)만약 딕셔너리에 c가 있다면 c의 값을 가져오고 없다면 c에 nothing을 저장해라 # 이진트리쿼리(n) 종류가 많아지면 2분할 방식으로 2이하, 3이상 으로 만들어주면(2진트리) n:1~4까지 어떤 경우든 조건문 2번 안에 자리를 찾..
-
(아티클) 데이터 분석가가 되어보니 중요한 것들내일배움캠프/Article Study 2024. 7. 16. 21:43
데이터 분석가 공부에 처음 입문하시는 대부분의 사람들은데이터 분석가가 하는 일로 다음과 같은 것을 생각하고 있을 것입니다. "통계, 머신러닝, 딥러닝 그리고 EDA(탐색적 데이터 분석)을 하며 인사이트 제공" 하지만 이 글의 작가는 데이터 분석가가 되어보니막상 모델링을 하는 시간은 길지 않고 "린 분석, 비즈니스 모델, 데이터 시각화, 마케팅" 이것이 더 중요함을 알게 되었다고 합니다. 작가는 데이터 분석가를좋은 의사결정을 하도록 돕는 사람이라고 정의를 내리고,데이터 분석가에게 중요하다고 생각하는 점으로 1) 데이터 기반해서 2) 성공 확률이 높은 의사결정을 3) 지속적으로 하도록 돕는다. 이렇게 3가지를 꼽고 설명을 해줍니다. 데이터 기반 데이터가 아..
-
[Python] 정규표현식 (기초편)내일배움캠프/Python 2024. 7. 15. 21:40
웹 스크래핑하고서 특정 데이터만 추출할 필요가 있을 때가 있습니다.예를 들어 여러 개인정보가 섞인 데이터에서 전화 번호 000-0000-0000만을 가져와야한다고 가정해봅시다.이 때 필요한게 정규표현식입니다. 복잡한 문자열을 처리할 때훨신 간편하고 직관적인 코드를 작성할 수 있게 해줍니다. 메타 문자와 문자클래스를 이용해서 특정 데이터의 패턴을 만들고match, search 등의 매서드를 통해서데이터에서 특정 데이터를 추출합니다. 정규 표현식에서 쓰이는 메타 문자, 매서드에 대해서 알아보겠습니다. 메타 문자 메타 문자는 정규표현식을 만드는데 사용되는 문자를 뜻합니다.메타 문자에[], {}, ?, +, * 등이 있는데원래 그 문자가 가진 뜻이 아닌 특별한 뜻을 지닙니다. 1. [] (대괄호) 대괄..
-
[Python] 파이썬 문제 해결 전략 (4)내일배움캠프/Python 2024. 7. 12. 21:27
오늘도 파이썬 코딩 문제 lv.0 30문제를 풀었습니다!이번에는 꽤 괜찮은 문제 해결 전략을많이 가져왔습니다. 최대공약수 유클리드 호제법을 사용하여 구할 수 있습니다.처음보는 단어라서 어려워하실 필요없이 아래 과정을 그대로 따라해주시면 됩니다. 유클리드 호제법: a를 b로 나누고 나머지 r을 구합니다. b를 r로 나누고 나머지 r1을 구합니다..이 과정을 나머지가 0이 될 때까지 반복합니다.마지막 나머지가 최대공약수입니다. 예를 들어 28과 12의 최대공약수를 구해봅니다. 1. 28을 12로 나누면 나머지는 162. 16을 12로 나누면 나머지는 43. 12를 4로 나누면 나머지는 0 따라서 28과 12의 최대공약수는 4입니다.너무 아름답습니다.. 어떻게 이럴 수가 있는지 궁금하신 분은아래 블로그를..
-
[Python] 파이썬 문제 해결 전략 (3)내일배움캠프/Python 2024. 7. 11. 20:21
오늘도 코딩 문제 lv.0 30문제를 풀었습니다.갈수록 모르는 게 줄어들고 있습니다... 반복가능한 객체에서 조건에 맞는 것들만 가져오기 def solution(str_list, ex): return ''.join(filter(lambda x: ex not in x, str_list)) 간략하게 이 코드 설명을 드리자면익명 함수인 lambda를 통해서 조건을 주고,filter를 통해서 str_list의 요소 중 조건에 부합하는 요소만 필터링합니다.그리고 join을 써서 필터링된 요소들과 합칩니다! 알고 있는 내용이었지만막상 필요할 때 까먹어서 사용하지 못해 아쉽습니다.. 집합 연산자를 통해 공통 요소 구하기 return len(set(s1)&set(s2)) s1과 s2 리스트에 든 공통 원소의..