파이썬 29

구간 합 구하기 4, boj11659, 백준, python

구간 합 구하기 4 시간 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 56629 24204 18693 41.232% 문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 출력 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 제한 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N 예제 입력 1 복사 5 3 5 4 3 2 1 1 3 2 4 5 5 예제 출력 1 복사 1..

귤 고르기, level2, 프로그래머스, python

문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로 총 3가지가 되며 이때가 서로 다른 종류가 최소일 때입니다. 경화가 한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine이 매개변수로 주어집니다. 경화가 귤 k개를 고를 때 크기가..

10.4 RANSAC을 사용하여 안정된 회귀 모델 훈련, python

* 본 포스팅은 머신러닝교과서를 참조하여 작성되었습니다. * https://github.com/rickiepark/python-machine-learning-book-3rd-edition GitHub - rickiepark/python-machine-learning-book-3rd-edition: 의 코드 저장소 의 코드 저장소. Contribute to rickiepark/python-machine-learning-book-3rd-edition development by creating an account on GitHub. github.com 선형 회귀 모델은 이상치(outlier)에 크게 영향을 받을 수 있다. 이상치를 제거하려면 항상 해당 분야의 지식만 아니라 데이터 과학자로서 식견도 필요하다. ..

10.1 선형회귀, 머신러닝교과서, python

* 본 포스팅은 머신러닝교과서를 참조하여 작성되었습니다. * https://github.com/rickiepark/python-machine-learning-book-3rd-edition GitHub - rickiepark/python-machine-learning-book-3rd-edition: 의 코드 저장소 의 코드 저장소. Contribute to rickiepark/python-machine-learning-book-3rd-edition development by creating an account on GitHub. github.com 선형 회귀는 하나 이상의 특성과 연속적인 타깃 변수 사이의 관계를 모델링하는 것이 목적이다. 지도 학습의 다른 카테고리인 분류 알고리즘과 달리 회귀는 범주형 클..

5.3 커널 PCA를 사용하여 비선형 매핑, 머신러닝교과서, python

*본 포스팅은 머신러닝교과서를 참조하여 작성되었습니다. 5.3 커널 PCA를 사용하여 비선형 매핑 실전 애플리케이션에서는 비선형 문제를 더 자주 맞닥뜨린다. 이런 비선형 문제를 다루어야 한다면 PCA와 LDA 같은 차원 축소를 위한 선형 변형 기법은 최선의 선택이 아니다. 5.3.1 커널 함수와 커널 트릭 3장에서 커널 SVM에 관해 배운 것을 떠올려 보면 비선형 문제를 해결하기 위해 클래스가 선형으로 구분되는 새로운 고차원 특성 공간으로 투영할 수 있다. 즉, 커널 PCA를 통한 비선형 매핑을 수행하여 데이터를 고차원 공간으로 변환한다. 그 다음 고차원 공간에 표준 PCA를 사용하여 샘플이 선형 분류기로 구분될 수 있는 저차원 공간으로 데이터를 투영한다. 이 방식의 단점은 계산 비용이 아주 비싸다는 것..

프로그래머스 Level2, 전화번호 목록, python

문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. 문제풀이 처음 문..

Chapter8. 딥러닝, DL from Scratch, python

* 본 포스팅의 내용은 모두 밑바닥부터 시작하는 딥러닝 을 참고하여 작성한 내용입니다. 8.1 더 깊게 8.1.1 더 깊은 신경망으로 여기에서 사용하는 합성곱 계층은 모두 3X3 크기의 작은 필터로, 층이 깊어지면서 채널 수가 더 늘어나는 것이 특징이다.(합성곱 계층의 채널 수는 앞 계층에서부터 순서대로 16, 16, 32 , 32, 64, 64 로 늘어간다) 또 그림과 같이 풀링 계층을 추가하여 중간 데이터의 공간 크기를 점차 줄여간다. 그리고 마지막 단의 완전연결 계층에서는 드롭아웃 계층을 사용한다. 가중치 초깃값 : He 초깃값 가중치 매개변수 갱신 : Adam 위의 신경망의 특징 - 3 x 3의 작은 필터를 사용한 합성곱 계층 - 활성화 함수는 ReLU - 완전연결 계층 뒤에 드롭아웃 계층 사용 ..

프로그래머스, level2, 위장, python

문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. cloth..

Chapter6.2 가중치의 초깃값, DL from Scratch, 파이썬

6.2 가중치의 초깃값 신경망 학습에서 특히 중요한 것은 가중치의 초깃값이다. 가중치의 초깃값을 무엇으로 설정하느냐가 신경망 학습의 성패가 가르는 일이 있다. 이번 절에서는 권장 초깃 값에 대해서 설명하고 실험을 통해 실제로 신경망 학습이 신속하게 이뤄지는 모습을 확인하겠다. 6.2.1 초깃값을 0으로 하면? 가중치 감소(weight decay) 기법 : 가중치 매개변수의 값이 작아지도록 학습하는 방법이다. 즉, 가중치 값을 작게 하여 오버피팅이 일어나지 않게 하는 것이다. 그렇다면 가중치의 초깃값을 모두 0으로 설정한다면 어떨까? 이는 나쁜 아이디어인데, 실제로 가중치 초깃값을 0으로 하면 학습이 올바로 이뤄지지 않는다. 그 이유는 오차역전파법에서 모든 가중치의 값이 똑같이 갱신되기 때문이다. 6.2...

딕셔너리 value 추가 하기, 프로그래머스 위장

프로그래머스 문제 level 2 위장을 풀다가 기존에 생성해 놓은 딕셔너리 value에 값을 추가해보았다. 일반적으로 우리가 생각하는 딕셔너리 값을 추가하는 방법은 key와 쌍으로 추가하는 방법인데 다음과 같다. dic = {} dic[key] = [value] print(dic) >> {"key" : [value]} 하지만 나는 기존에 존재하는 key에 해당하는 value 값을 추가하고 싶었는데, dic = {"key" : [value1, value2]} 이렇게 만들고 싶었는데, 구글링을 해서 마침내 방법을 알게 되었다.(일반적인 방법밖에안나와서 고생함..) 방법은 다음과 같다! # 다음과 같은 딕셔너리가 존재할 때 clothes = {'headgear' : ['yellow_hat']} # headge..