Contents 1. 문제 정의 및 예제 해석 (문제 링크: https://www.acmicpc.net/problem/2156) 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 처음에 포도주 개수(n)가 주어지고, 다음에 n 줄에 걸쳐 각 포도주 잔에 들어있는 포도주의 양이 주어진다. 6 : 포도주 개수(n) 6 : 첫 번째 포도주 잔의 포도주 양 ... 1 : 마지막 포도주 잔의 포도주 양 입력받은 포도주 잔의 포도주양을 리스트로 만들면 [6, 10, 13, 9, 8, 1]와 같습니다. 이제 연속으로 3잔 선..
* 전체 코드 import pandas as pd from pydataset import data df = data('Titanic') ### 테스트 데이터셋 불러오기 ### 비교 연산 cond_adult = df.Age=='Adult' # == 연산 df[cond_adult] # True인 값들만 출력 cond_freq_under4 = df.Freq
Contents 1. 문제 정의 및 예제 해석 (문제 링크: https://www.acmicpc.net/problem/2294) 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 동전 종류 개수(n)와 만들어야 하는 금액(k)이 주어지고, 다음 n개의 줄에 걸쳐, 각각 동전의 가치가 주어집니다. k원을 만들기 위해 사용되는 최소 동전 개수를 출력해야 합니다.(불가능한 경우 -1, 각 동전은 몇 개라도 사용 가능) 3 15 : 동전 종류는 3개, 목표 금액은 15 1 : 첫 번째 동..
Contents 안녕하세요. 이번엔, 인프런의 파이썬 머신러닝 완벽 가이드 강의의 [섹션 9 - 추천 시스템]을 요약해보겠습니다. 목표는 추천 시스템의 전반적인 그림을 이해하는 것입니다. 1. 추천 시스템의 중요성 유튜브, 쿠팡, 넷플릭스, 아마존 등의 이커머스 기업에서 추천 알고리즘은 이제 필수 요소가 되었습니다. 사용자에게 맞춤 아이템(상품, 콘텐츠 등)을 제공해줌으로써, 사용자의 온라인 경험을 대폭 향상시킬 수 있고, 이는 매출로 이어지기 때문입니다. 추천 시스템은 사용자가 온라인에서 남긴 모든 흔적을 데이터로 사용합니다. 추천 시스템은 사용자 자신도 모르는 취향을 저격하여 취향의 한계 폭을 넓혀줌으로써, 신뢰도를 올립니다. 그러면, 사용자는 추천 시스템을 적극 이용함으로써 추천 시스템에 양질의 데..
Contents 1. 문제 정의 및 예제 해석 (문제 링크: https://www.acmicpc.net/problem/2606) 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 주어진 컴퓨터에 대해, 1번 컴퓨터와 연결된 컴퓨터가 총 몇 개인지 출력하는 문제입니다. 예제를 보겠습니다. 7 : 총 컴퓨터의 대수입니다. 6 : 컴퓨터 간에 연결된 선의 개수입니다. 1 2 : 1번 컴퓨터와 2번 컴퓨터가 연결되었다는 의미입니다. 2 3 ... 4 7 -> 입력을 바탕으로 컴퓨터 간의 연결을 시각화하면 아래와 같습니다. ..
Contents 1. 문제 정의 및 예제 해석 (문제 링크: https://www.acmicpc.net/problem/14248) 14248번: 점프 점프 첫 번째 줄에는 돌다리의 돌 개수 n이 주어진다.(1≤n≤100,000) 돌의 번호는 왼쪽부터 1번에서 n번이다. 다음 줄에는 그 위치에서 점프할 수 있는 거리 Ai가 주어진다.(1≤Ai≤100,000) 다음 줄에는 출 www.acmicpc.net 예제를 보겠습니다. 5 : 돌이 5개 있는 경우, 1 4 2 2 1 : 각 돌다리 별로 움직일 수 있는 칸의 개수가 주어집니다. 3 : 출발점이 3번째 있는 돌입니다. 방문 가능한 돌들을 살펴보겠습니다. 1 4 2 2 1 중 빨간 색칠된 곳에서 시작합니다. 처음에 왼쪽으로 2칸 가서 1에 도착한 뒤, 오른쪽..
* 전체 코드 import sympy as sp from sympy.abc import x, y ## 미분 exp = x**2 +2*x + 3 sp.diff(exp, x) ## 사용된 변수와 도메인과 함께 표시 sp.poly(sp.diff(exp, x)) # Z:정수, Q:유리수, R:실수, C:복소수 # x로 2번 미분 sp.diff(exp, x, x) ## dx/dy or dy/dx sik=x**2 + y**2 +2*x + 3 sp.idiff(sik, x, y) # dx/dy sp.idiff(sik, y, x) # dy/dx ## 적분 sik=sp.log(x**2+sp.E**x) # 수식 정의 sp.integrate(sik, x) # 적분 ### 적분이 안되는 경우 sp.integrate(sp.cos..
* 전체 코드 import pandas as pd from pydataset import data titanic = data('titanic') # titanic 데이터셋 가져오기 df = titanic.sample(5,random_state=90) #랜덤 5개만 가져오기 ## iterrows 행 반복 for index, row in df.iterrows(): print(f"{index=}, {row.age=}, {row['sex']=}") ## itertuples 행 반복 for row in df.itertuples(): print(f"{row.age=}, {row.sex=}") ## df.index 사용 for idx in df.index: print(f"{df.loc[idx,'class']=}, {..
안녕하세요 이번 포스팅에선 MLOps의 핵심 문제와 이를 이해하기 위한 배경을 알아보겠습니다. 인프런의 "머신러닝 엔지니어 실무" 강의의 첫 번째 맛보기 영상을 보고, 공부하며 정리한 내용입니다. 목표 1. 머신러닝 파이프라인의 개념에 대해 이해 2. 머신러닝 기반의 소프트웨어가 갖고 있는 특징을 이해 3. MLOps에서 풀어야 하는 핵심 문제 이해 4. MLOps 성숙도 레벨에 따른 특징 이해 Contents 1. 머신러닝 파이프라인의 필요성 파이프라인은 산업혁명 시대에 자동화의 시작을 알린 개념입니다. 이를 통해 생산성 향상, 예측 가능한 품질, 장애 대응능력 향상이라는 이점을 얻었습니다. 이렇게 자동화를 하면, 수십수백 개의 머신러닝 모델을 제공한다는 생산성 향상을 얻을 수 있습니다. 또한, 자동화..
Contents 1. 배경 Mac에서 주피터 노트북으로 코딩을 하다가, 노트북이 있는 경로의 폴더를 열거나, vscode를 열 때 일일이 찾아서 했습니다. 하지만 간단한 명령어로 이를 해결할 수 있습니다. 2. 폴더 열기(Finder) !open . 위 명령어를 나누어 설명해 보겠습니다. 1) ! : 주피터 노트북에서 터미널 명령어를 쓰겠다는 표시입니다. 2) open . : open 명령어는 맥의 Finder를 열겠다는 명령어이고,. 은 현재 경로의 폴더(디렉터리)를 지칭합니다. * 출력 3. Vscode 열기 !code . 폴더 여는 방법과 똑같지만, code라는 명령어 부분이 다릅니다. 이는 Vscode를 설치하면 Mac에서 자동으로 code라는 명령어로 사용하실 수 있습니다. * 출력 4. 결론 ..
* 전체 코드 ## 얕은 복사 a=[1,2,3] b=a[:] # b=a.copy()도 똑같이 동작 b.append(1) print(f"{a=}, {b=}, {id(a)=}, {id(b)=}") # 출력: a=[1, 2, 3], b=[1, 2, 3, 1], id(a)=4379693696, id(b)=4379284288 ## 얕은 복사의 한계 a=[[1,2],[3,4]] b=a.copy() # 얕은 복사 a[0][0]=100 print(f"{a=}, {b=}, {id(a)=}, {id(b)=}") # 출력: a=[[100, 2], [3, 4]], b=[[100, 2], [3, 4]], id(a)=4378411776, id(b)=4378556096 print(f"{id(a[0])=}, {id(b[0])=}")..
* 전체 코드 ## f-string = 지시자 power=100 print(f"{power=}") # 출력: power=100 ## 활용 예시 gesus=100 budda=[] for i in range(5): gesus+=i budda.append(gesus) print(f"{gesus=}, {len(budda) = }, {budda=}") # 출력 # gesus=100, len(budda) = 1, budda=[100] # gesus=101, len(budda) = 2, budda=[100, 101] # gesus=103, len(budda) = 3, budda=[100, 101, 103] # gesus=106, len(budda) = 4, budda=[100, 101, 103, 106] # gesu..