
Python - 시각화 기초
2021. 1. 27. 15:25
📌 Python
Load Package import numpy as np import matplotlib.pyplot as plt %matplotlib inline Basic Attributes alpha : 투명도 kind : 그래프 종류 'line', 'bar', 'barh', 'kde' logy : Y축에 대해 Log scaling use_index : 객체의 색인을 눈금 이름으로 사용할지 여부 rot : 눈금 이름 돌리기 (rotating) 0 ~ 360 xticks, yticks : x, y축으로 사용할 값 xlim, ylim : X, Y축의 한계 grid : 축의 그리드를 표현할지 여부 subplots : 각 column에 독립된 subplot 그리기 sharex, sharey : subplots=True 이..

프로그래머스 2단계 - 쿼드 압축 후 개수 세기
2021. 1. 27. 09:17
⏰ 코딩테스트/프로그래머스
문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 제한사항 arr의 행의..
Python - Numpy 기초
2021. 1. 27. 08:19
📌 Python
zeros zeros = np.zeros([3,3]) zeros >> array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) 0으로 만들기 ones zeros = np.ones([10,5]) zeros >> array([[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]]) 1로 만들기 reshape arr = np.arange(12)...

Python - Tensor
2021. 1. 27. 07:48
📌 Python
딥러닝을 하다보면 Tensor라는 개념이 많이 나올 것이다. 그 중 Tensor의 개념을 잘 이해하는 것이 중요한데. 딥러닝에서는 주로 고차원적인 데이터를 많이 사용될 것이기 때문 Numpy는 그런 고차원적인 데이터를 다루기 쉽게 만들어져 있어 딥러닝을 하시게 된다면 늘 접하게 될 것임 0차원 arr = np.array(5) arr.shape >> 0 0차원의 배열 - numpy array는 1 또는 5, 10와 같이 숫자 데이터를 array화 해줄 수 있음 1차원 숫자가 10과 같이 하나만 들어간다고 해도 [] 리스트를 한번 씌우게 되면 차원이 생긴다 이때는 1차원이 되는건데 numpy 에서 shape를 표현 할 때 (1)이 아닌 (1, ) 이런 식으로 표현하게 됨 arr = np.array([5]) ..

프로그래머스 2단계 - 뉴스 클러스터링
2021. 1. 26. 20:06
⏰ 코딩테스트/프로그래머스
뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 카카오 신입 개발자 공채 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. 코딩 실력만 본다 카카오 코딩 능력만으로 2018 신입 개발자 뽑는다 기사의 제목을 기준으로 블라인드..
백준 알고리즘 - 9095 - 1, 2, 3 더하기
2021. 1. 25. 23:13
⏰ 코딩테스트/백준 알고리즘
문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 나의 코드 # 정수 n 입력 number=int(input()) Testcase=[] # 테스트 케이스 초기화 for i in range(number): # 정수 n 만큼의 ..

CNN 구조
2021. 1. 24. 18:30
💡 AI/DL
CNN 안에는 Covolution, Max Pooling, ReLU 등의 레이어로 쌓여있다. 이 부분은 특징을 추출하는 곳이다. 특징을 추출해서 Fully Connected Layer 부분에서 결정을 내린다. 어떤 수치를 받았는지에 따라 나중에 필터에 따라 결정을 내린다. 특징은 패턴이다. 어떠한 모양, 색 등 Max Pooling : 수치가 높은 것들만 뽑아서 반으로 줄인다. 가장 큰 특징을 압축을 한다고 생각하면 된다. 뽑은 특징들 중 불필요한 것들을 제거해준다. 세가지의 레이어를 거치면서 중요한 것과 특징적인 것만 잡아낸다. 예측한다.

딥러닝 용어
2021. 1. 24. 18:17
💡 AI/DL
Model Layer Convolution Weight / Filter / Kernel Pooling layer Activation Function SoftMax Cost / Loss / Loss Function Optimization Learning Rate Batch size Epoch Train set / Test set Label / Ground Truth www.slideshare.net/KirillEremenko/deep-learning-az-convolutional-neural-networks-cnn-module-2r 이미지 출처 Deep Learning A-Z™: Convolutional Neural Networks (CNN) - Module 2 Deep Learning A-Z™: Conv..

Model, Logit, Loss, Optimization
2021. 1. 24. 17:42
💡 AI/DL
Model : 학생이 책을 받으면 공부를 한다. Logit : 문제를 푼다. 예측한다. Loss : 정답과 비교한다. 얼마나 틀렸는지 계산한다. Optm : 왜 틀렸는지 다시 공부한다. 틀린 것을 최소화해서 최적화한다. 어떤 모델을 쓸 것인지 선택해야 한다. 똑똑한 아이들이 공부를 잘하고 문제를 잘 푸는 것처럼
Python - 정규표현식 (3)
2021. 1. 24. 17:28
📌 Python
findall search가 최초로 매칭되는 패턴만 반환한다면, findall은 매칭되는 전체의 패턴을 반환 매칭되는 모든 결과를 리스트 형태로 반환 re.findall(r'[\w-]+@[\w.]+', 'swc54545@gmail.com is swc54545@naver.com and swc54545@daum.com') >> ['swc54545@gmail.com', 'swc54545@naver.com', 'swc54545@daum.com'] compile 동일한 정규표현식을 매번 다시 쓰기 번거로움을 해결 compile로 해당표현식을 re.RegexObject 객체로 저장하여 사용가능 email_reg = re.compile(r'[\w-]+@[\w.]+') email_reg.search('test@gmai..

프로그래머스 2단계 - 최소값 만들기
2021. 1. 24. 15:39
⏰ 코딩테스트/프로그래머스
문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 두번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21..

프로그래머스 2단계 - 멀쩡한 사각형
2021. 1. 22. 14:59
⏰ 코딩테스트/프로그래머스
문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 solutio..
Python - 정규표현식 (2)
2021. 1. 22. 08:45
📌 Python
\ 다른 문자와 함께 사용되어 특수한 의미를 지님 \d : 숫자를 [0-9]와 동일 \D : 숫자가 아닌 문자 [^0-9]와 동일 \s : 공백 문자(띄어쓰기, 탭, 엔터 등) \S : 공백이 아닌 문자 \w : 알파벳대소문자, 숫자 [0-9a-zA-Z]와 동일 \W : non alpha-numeric 문자 [^0-9a-zA-Z]와 동일 메타 캐릭터가 캐릭터 자체를 표현하도록 할 경우 사용 \. , \\ re.search(r'\sba','i like babana') >> re.search(r'\.\?', '뭐야 이게.?') # \다음 문자 그자체를 찾는다. . 모든 문자를 의미 re.search(r'e..o', 'hi hello') >> 반복패턴 패턴 뒤에 위치하는 *, +, ?는 해당 패턴이 반복적으로..
Python - 정규표현식 (1)
2021. 1. 22. 08:24
📌 Python
정규표현식 regular expression 특정한 패턴과 일치하는 문자열를 '검색', '치환', '제거' 하는 기능을 지원 정규표현식의 도움없이 패턴을 찾는 작업(Rule 기반)은 불완전 하거나, 작업의 cost가 높음 e.g) 이메일 형식 판별, 전화번호 형식 판별, 숫자로만 이루어진 문자열 등 raw string 문자열 앞에 r이 붙으면 해당 문자열이 구성된 그대로 문자열로 변환 import re a = 'abcde\n' print(a) b = r'abcde\n' # row string print(b) >> abcde >> >> abcde\n search method 첫번째로 패턴을 찾으면 match 객체를 반환 패턴을 찾지 못하면 None 반환 m = re.search(r'abc', '123abc..

랩미팅
2021. 1. 21. 20:30
카테고리 없음
Highlights Dead Sea Scrolls fragments made of animal skins are classified based on ancient DNA Disambiguating the debated relationship between fragments reveals new insights Paleogenomics finds that some scriptural scrolls were brought from outside Qumran Qumran and Masada scrolls represent the broad cultural matrix of Greco-Roman Judea Summary The discovery of the 2,000-year-old Dead Sea Scroll..

프로그래머스 2단계 - 문자열 반환
2021. 1. 21. 11:58
⏰ 코딩테스트/프로그래머스
문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 1 2 3 4라면 1 4를 리턴하고, -1 -2 -3 -4라면 -4 -1을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 나의 코드 def solution(s): s_ = list(map(int, s.split())) s1 = min(s_) s2 = max(s_) s = s1, s2 answer = " ".join(map(str, s)) return answer 풀이 과정 s를 공백으로 자르고 int형으로 변환한다. 최대, 최소 찾는다. 다..