파이썬 머신러닝 완벽 가이드 Day 1 (넘파이)
·
ML & DL/파이썬 머신러닝 완벽 가이드
넘파이-Numpy-Numerical python 머신러닝의 대부분 알고리즘-선형대수, 통계 기반. >넘파이는 배열 기반의 빠른 연산 및 다양한 데이터 핸들링 기능을 제공. 넘파이 ndarray 개요 (p.14) 넘파의의 기반 데이터 타입은 ndarray. 이 ndarray를 이용하여 다차원 배열을 쉽게 생성하고, 다양한 연산을 수행. 이러한 ndarray는 넘파이의 array()함수를 이용하여 생성함. 생성된 ndarray배열의 shape변수는 ndarray의 크기(행과 열의수)를 튜플 형태로 가지고있으며 이를 통해 ndarray배열의 차원을 확인할 수 있다. ndarray.shape는 ndarray의 차원과 크기를 튜플형태로 나타내준다. → 쉽게 생각하면, 리스트 한개로 구성되어 있으면 1차원, 리스트..
[Python] 백준 #1912- 연속합
·
코딩테스트/백준[Python]
문제 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline n=int(input()) num=list(map(int,input().split())) dp=[0]*n for i in range(n): if(num[i]>=0):dp[i]=max(0,dp[i-1])+num[i] else: if(dp[i-1]+num[i]>=0): dp[i]=dp[i-1]+num[i] else: dp[i]=num[i] print(max(dp)) Another an..
[Python] 백준 #10870- 피보나치 수 5
·
코딩테스트/백준[Python]
문제 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 코드 My answer import sys input = sys.stdin.readline n=int(input()) dp=[0]*(n+2) dp[0], dp[1]=0, 1 for i in range(2,n+1): dp[i]=dp[i-1]+dp[i-2] print(dp[n]) Another answer def fibonacci(n): if n
효율적인 화폐 구성-[이것이 취업을 위한 코딩 테스트다]
·
코딩테스트/이것이취업을위한코딩테스트다[Python]
📖문제 N가지 종류의 화폐가 있다. 이 화폐들의 개수를 최소한으로 이용해서 그 가치의 합이 M원이 되도록 하려고 한다. 이때 각 화폐는 몇 개라도 사용할 수 있으며, 사용한 화폐의 구성은 같지만 순서만 다른 것은 같은 경우로 구분한다. 예를 들어 2원, 3원 단위의 화폐가 있을 때는 15원을 만들기 위해 3원을 5개 사용하는 것이 가장 최소한의 화폐 개수이다. 입력 조건 첫째 줄에 N, M이 주어진다. (1 d[2]=1 5. d[3] -> d[0],d[1]이 존재하나, 둘다 -1 그리고 현재 d[3]=1---------------> d[3]=1 6. d[4] -> d[1],d[2]가 존재하고, d[2] != -1이며 현재 d[4]=-1 이므로, d[4]=d[2]+1(2를 만드는 방법에 화폐2 추가) --..
개미 전사-[이것이 취업을 위한 코딩 테스트다]
·
코딩테스트/이것이취업을위한코딩테스트다[Python]
📖 문제 개미 전사는 부족한 식량을 충당하고자 메뚜기 마을의 식량창고를 몰래 공격하려고 한다. 메뚜기 마을에는 여러 개의 식량창고가 있는데 식량창고는 일직선으로 이어져 있다. 각 식량창고에는 정해진 수의 식량을 저장하고 있으며 개미 전사는 식량창고를 선택적으로 약탈하여 식량을 빼앗을 예정이다. 이때 메뚜기 정팔병들은 일직선상에 존재하는 식량창고 중에서 서로 인접한 식량창고가 공격받으면 바로 알아챌 수 있다. 따라서 개미 전사가 정찰병에게 들키지 않고 식량창고를 약탈하기 위해서는 최소한 한 칸 이상 떨어진 식량창고를 약탈해야 한다. 예를 들어 식량창고 4개가 다음과 같이 존재한다고 가정하자. {1, 3, 1, 5} 이때 개미 전사는 두 번째 식량창고와 네 번째 식량창고를 선택했을 때 최댓값인 총 8개의 식..
Algorithm 5. 이진탐색(binary search)
·
코딩테스트/파이썬 알고리즘
오늘은 순서대로가 아니라 코테에서 자주 등장하는 이진(이분)탐색에 대해서 작성해볼 것이다. 이진탐색은 교재 p.186 Chapter 7에서 등장한다. 순차탐색 - 리스트 안에 있는 특정 target을 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인 - 보통 정렬되어 있지 않은 데이터에서 target을 찾을 때 사용. - 앞에서부터 데이터를 확인하기 때문에 데이터가 N개일 때 최악의 경우 시간복잡도는 O(N) 이진탐색 - 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘. - 정렬이 되어있다면 매우 빠르게 데이터를 찾을 수 있는 알고리즘. - 데이터를 찾기위해 (시작점, 끝점, 중간점)을 이용하여 탐색. - 한번 확인할 때 마다 확인하는 원소의 개수가 절반씩 줄어들기 때문에 시간복잡도가 ..