일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- dynamic programming
- 파이썬
- implement
- 자바
- Counting
- Binary Tree
- hash table
- Binary Search
- two pointers
- 코딩테스트
- geometry
- Stack
- array
- string
- Data Structure
- database
- simulation
- Matrix
- SQL
- 코테
- Class
- Method
- bit manipulation
- Tree
- java
- greedy
- Math
- 구현
- Number Theory
- sorting
- Today
- Total
목록Python (14)
코린이의 소소한 공부노트

넘파이를 이용한 코딩을 하다 보면 숫자들을 많이 다루기 때문에 한 번씩 헷갈린다. 그래서 내가 다루고 있는 자료들을 그래프로 확인해볼 일이 종종 생긴다. 이번 글에서 볼 것은 matplotlib를 이용한 그래프 시각화이다. 일단 필요한 모듈을 불러오는 것부터 시작해보자. import numpy as np import matplotlib.pyplot as plt # 이미지를 띄울 수 있게 해주는 모듈 %matplotlib inline # 주피터 내부에 이미지를 띄울 수 있게 해주는 작업 그래프 그려보기 data라는 배열을 이용해서 여러 그래프를 그려보려고 한다. 필자는 randn을 썼지만, 다른 랜덤함수를 써도 상관없다. data = np.random.randn(50) # 무작위로 50개의 수 생성 dat..

딥러닝에서 많이 쓰이는 패키지 중 하나인 numpy에 대해서 이전 글에서 잠깐 언급했었다. 이번 글에서는 넘파이의 기초를 다져보겠다. 기초가 아주 많으니 읽다가 졸지 않기! 시작하기 전에 꼭 준비해야 할 것이 있쥬?! import numpy as np zeros, ones 이름 그대로 0들, 1들이다. 도대체 무엇이? 배열의 원소들이! 일단 zeros부터 살펴보겠다. zeros는 0으로 가득 찬 배열을 만들어준다. z1 = np.zeros([3,3]) # []나 ()를 이용해서 shape를 주면 알아서 만든다. z1 >> array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) z2 = np.zeros(3) # 정수를 쓰면 행 우선 벡터(1차원)가 만들어진다. z2 # 3..

그동안 미래의 나에게 설명을 미뤄왔는데, 이제 때가 된 듯하다. 우리가 일상에서 들어본 class는 수업, 학교 반, 게임에서 장비나 유저들의 티어를 나타내는 단어 등이었는데, 파이썬에서의 클래스는 무엇을 뜻하는 것일까? 이번 글에서는 1. 클래스, 오브젝트란 무엇인지 2. 클래스 선언은 어떻게 하는지 3. 클래스 상속은 무엇인지 4. 상속받은 다음 어떤 방식으로 메소드를 정의하는지 5. 특수 함수에는 어떤 것이 있는지 알아보도록 하겠다. 1. 클래스 Class와 오브젝트 Object 파이썬에서 말하는 클래스는 1) 실제 있는 것들을 모델링해서 그것의 속성(attribute 어트리뷰트)과 기능(method 메소드)을 만들어 놓은 데이터 타입으로 2) string, int, list 등등 모두가 클래스다...

그동안 별 설명 없이 import를 많이 써왔다. 이번에 볼 것은 1. 모듈이 무엇인지 2. 사용방법은 어떻게 되는지 3. 많이 쓰는 모듈에는 무엇이 있는지 알아보려고 한다. 1. 모듈(module)이란? 사전에서 나오는 모듈의 정의는 특성을 갖는 기능의 단위라고 나온다. 컴퓨터 하드웨어를 예로 들면 메인 보드, 인터페이스 보드, 보조 입출력 장치, 중앙 처리장치 등이 각 기능을 담당하는 모듈이라고 얘기할 수 있다. 파이썬에서 말하는 모듈은 1) 소프트웨어 모듈을 말하는 건데, 이것은 각종 변수, 함수, 클래스 등 파이썬 정의와 문장들을 모아 놓은 파일이다. 2) 모듈이름.py라는 파일에 담겨 있다. 우리가 임의로 만들어서 사용하는 변수나 함수 등은 프로그램이 끝나면 사라져서 다른 프로그램에서 재사용하는..

함수를 정의해서 사용하다 보면 한 번씩 드는 생각이 있다. 몇 번 안쓰는 함수인데, 매번 식을 써서 쓰기는 귀찮은데 함수 정의를 하자니 너무 거창한 거 같다는 생각.. (나만 그런가?) 예를 들면 두 수를 더한 수에 2를 곱하는 식을 쓴다고 하면 아래와 같이 쓸 수 있다. # 1. 함수 없이 쓰기 a = (3+4)*2 print(a) >> 14 # 2. 재사용을 위해 함수 정의 def addmul(x,y): return (x+y)*2 b = addmul(3,4) print(b) >> 14 함수를 def 키워드를 이용해서 정의를 하면 함수 객체가 생성되고, 메모리 어느 한쪽 구석에서 자리 차지를 하고 있다. 그리고 프로그램 어딘가에서 함수를 호출하면 자리 차지를 하고 있던 함수를 불러와서 쓴다. 메모리가 ..

수학에서 말하는 함수란 두 집합 X, Y가 있을 때, X의 한 원소가 Y의 한 원소에 대응될 때 그 관계를 말한다. 이와 비슷하게 프로그래밍에서의 함수란 주어진 입력(input)을 미리 지정해둔 방법으로 계산해서 출력(output)을 전달하는 것을 말한다. 우리가 지금까지 봤던 함수들을 몇 가지만 살펴본다면 다음과 같다. 함수 입력 출력 함수 입력 출력 sum 숫자 컬렉션 모든 수의 합 len iterable 객체 객체의 길이 range 정수 정수 리스트 get key value list iterable 객체 리스트 등등.. 이렇게 이미 파이썬 내부에 구현되어있는 함수들을 내장함수(built-in function)라고 한다. a = [1, 2, 3, 4] print(len(a)) >> 4 print(su..

# 식 계산, 대입(expression evaluation & assignment) a = 9 print(a) >> 9 print(a - 3) # 식을 계산해서 평가하기 >> 6 print(a) # 평가만 했지 대입은 안했으므로 값은 그대로 >> 9 # 두 변수의 값 바꾸기 a = 6 b = 3 temp = a # a = 6, b = 3, temp = 6 a = b # a = 3, b = 3, temp = 6 b = temp # a = 3, b = 6, temp = 6 print(a, b) >> 3 6 # 1부터 20까지의 자연수 중 2의 배수 또는 7의 배수를 모두 출력하기 a = set(range(2, 21, 2)) # 2부터 2씩 건너뛰어 2의 배수 집합 만들기 b = set(range(7, 21,..

코드를 짜다보면 반복적으로 해야 할 일들이 꽤 많이 생기게 된다. 예를 들면.. # 노란색 펜이 어디있더라..? pencil_case = ['파란색 펜', '까만색 펜', '지우개', '자', '노란색 펜', '빨간색 펜', '샤프'] if pencil_case[0] == '노란색 펜': print('0번째에 있었네!') elif pencil_case[1] == '노란색 펜': print('1번째에 있었네!') # .. 중략 .. elif pencil_case[5] == '노란색 펜': print('5번째에 있었네!') else: print('...마지막에 있었네..') 사람 편하자고 하는게 코딩인데, 이렇게 불편하게 쓸 수는 없다!! 위의 예시의 경우는 오늘 볼 while(와일)문 또는 for(포)문으..

데이터 타입과 타입별 연산자, 함수 등을 쭉 한번 둘러봤으니 이제 슬슬 프로그램의 모습을 갖춘 코드들을 작성해서 돌려보려 한다. 이번에 볼 것은 가장 기초적인 문법, 조건문 중에 if(이프)를 살펴보려고 한다. 1. if 조건문이란? 2. if문 작성 시 유의사항 3. 거짓이 False 말고 더 있다고? 1. if 조건문(if condition)이란? # 나랑 동생이랑 저치(저녁 치킨) 예정 # 오늘은 내가 사는 날 i_have = ???? chicken = 18000 if i_have >= chicken*2: # 내가 가진 돈이 치킨 2마리값 이상일 때 실행 print('1인 1닭 ㄱㄱ.') elif i_have >= chicken: # 돈이 2마리값은 안되고 1마리 값 이상일 때 실행 print('다..

컬렉션 타입은 앞서 본 리스트와 튜플 외에 2가지가 더 있다. 이번에 살펴볼 것은 1. 사전과 2. 집합이다. 여기까지 다 봤다면 파이썬에 대해서 반이나 알게 된 것이다! (시작이 반이다!!!) 1. 사전(dictionary, 줄여서 딕트[dict]라고 씀) 보통 사전이라함은.. ㄱㄴㄷ, abc 등 문자의 순서대로 단어들을 쫙 나열해놓고 옆에 단어의 뜻, 예시 등이 적힌 책을 말하는데, 파이썬에서 말하는 사전은 약간 다르다. 파이썬의 사전(dict)은 키(key)와 값(value)으로 구성되어 있다. 사전의 단어가 dict의 키, 사전의 단어의 뜻이 dict의 값에 해당한다고 보면 되겠다. 물론 키와 값은 내 맘대로 집어넣을 수 있다. dict1 = {'아침':'토스트', '점심':'쌀국수', '저녁':..