분류 전체보기
-
알고리즘: 선형탐색 알고리즘(Linear search algorithm)과 이진탐색 알고리즘(binary search algorithm)알고리즘 2020. 7. 1. 15:26
탐색 알고리즘이란 방대한 데이터에서 목적에 맞는 데이터를 찾아내기 위한 알고리즘입니다. 여러가지 탐색 알고리즘이 있지만 대표적으로 선형탐색 알고리즘과 이진탐색 알고리즘에 대해서 공부하겠습니다. 두 알고리즘 다 정렬되어있다는 가정하에 알아보겠습니다. 1. 선형탐색 알고리즘(Linear search algorithm) 순서대로 하나씩 값을 찾아보는 알고리즘입니다. 원하는 값을 발견하면 더이상 탐색하지 않습니다. def linear_search(element, some_list): # some_list의 안에 element가 있으면 인덱스를 리턴 for i in range(0, len(some_list)): if some_list[i] == element: return i # 왼쪽 값부터 시작해서 하나씩 비교..
-
Python: 파이썬으로 로또를 만들어보자!Python 2020. 6. 30. 15:43
로또를 만들기 전에 규칙을 정하고 갑시다. 1. 사용자는 1부터 45까지의 숫자 중 6개의 랜덤하고 중복되지 않는 숫자를 뽑는다. 2. 당첨번호는 6개의 일반 당첨 번호와 1개의 보너스 당첨 번호로 이루어진다. 마찬가지로 7개의 번호는 1부터 45까지의 숫자로 중복되지 않게 뽑으며, 6개의 일반 당첨번호는 정렬되게 보너스 번호는 정렬과 상관없이 마지막에 오도록 한다! 예) [3, 10, 12, 38, 39, 45, 17] [4, 10, 11, 29, 30, 42, 32] 3. 당첨 상금은 다음과 같은 규칙을 따릅니다. 1) 내가 뽑은 번호 6개와 일반 당첨 번호 6개 모두 일치 (10억 원) 2) 내가 뽑은 번호 5개와 일반 당첨 번호 5개 일치, 그리고 내 번호 1개와 보너스 번호 일치 (5천만 원) ..
-
Python: with open() 파일 읽기(read), 쓰기(write), 덧붙히기(append), strip(), split() 함수란?Python 2020. 6. 30. 14:34
파일을 읽고 쓰기전에 필수적으로 알아야 하는 함수가 있습니다. 그래서 그 함수들부터 먼저 알아보도록 해보겠습니다. 1. strip() strip() 메서드는 앞뒤의 공백, 즉 앞뒤의 모든 화이트 스페이스들을 없애주는 기능을 합니다. print(" \n hello Panda \n \t ") print(" \n hello Panda \n \t ") print("-----------------------------------------") print(" \n strip hello Panda \n \t ".strip()) print(" \n strip hello Panda \n \t ".strip()) hello Panda hello Panda -------------------------------------..
-
Python: 모듈 import하고 표준 라이브러리 모듈 사용해보기! (feat. math, random, datetime)Python 2020. 6. 30. 00:37
1. 내가 만든 모듈 import하기 project 안에 calculator.py 라고 해서 계산기능을 넣은 py 파일을 만들어 줍니다. def add(x, y): # 덧셈 return x + y def subtract(x, y): # 뺄셈 return x - y def multiple(x, y): # 곱셈 return x * y def divide(x, y): # 나눗셈 return x / y 이제 같은 디렉토리 안에 있는 다른 py파일에 import 파일명을 해줍니다. import calculator x = 10 y = 5 print(calculator.add(x, y)) print(calculator.subtract(x, y)) print(calculator.multiple(x, y)) 단, cal..
-
Python: 에일리어싱(Aliasing)Python 2020. 6. 29. 23:27
에일리어싱(Aliasing)에 대해 공부하기전에 alias의 뜻부터 알고 가시죠! alias는 '가명'이라는 뜻을 가지고 있는데 이는 쉽게 말해 파이썬에서 변수 = 객체 일때, 객체에 변수라는 가명을 정해준다고 생각하시면 됩니다. 이렇게 객체와 변수의 연관짓는 것을 참조(reference)라고 합니다. 예를 들어서 여기 이 코드를 보시면 x = 10 y = x y = 5 print(x) print(y) 10 5 10이라는 상수에 x라는 가명을 정해주고, 다시 y는 x라는 가명이 정해진 상수 10에 가명을 정해줍니다. 그리고 이후, 5라는 상수에 y라는 가명을 정해주면서 y는 5를 참조해주게 됩니다. 하나 이상의 참조를 가진 객체는 한 개 이상의 이름을 갖게 되어서 객체가 에일리어스(aliased)되었다고..
-
Python: 딕셔너리(Dictionary) 사전 기능!Python 2020. 6. 29. 22:50
딕셔너리(dictionary)는 파이썬에서 가장 많이 쓰이는 기능 중 하나입니다. key 값과 value 값이 한 쌍을 이룹니다. 딕셔너리 말그대로 사전을 예로 들면 영어 사전에는 영어단어: 한국어 이런 형태로 되어 있는데 여기서 영어단어가 key, 한국어를 value라고 생각하시면 됩니다. # dictionary 단어장 만들기 vocab = { 'sanitizer': '살균제', 'ambition': '야망', 'conscience': '양심', 'civilization': '문명' } print(vocab) # 새로운 단어 추가하기 vocab['privilege'] = '특권' vocab['principle'] = '원칙' print(vocab) {'sanitizer': '살균제', 'ambition..
-
Python: 리스트와 문자열을 비교해보자!Python 2020. 6. 28. 14:39
파이썬에서 리스트와 문자열은 굉장히 비슷합니다. 리스트가 어떤 자료형들의 나열이라면, 문자열은 문자들의 나열이라고 할 수 있습니다. 리스트와 문자열이 어떻게 같고 다른지 정리해보겠습니다. 우선 공통점부터! # 알파벳 리스트의 인덱싱 alphabets_list = ['P', 'A', 'N', 'D', 'A'] print(alphabets_list[0]) print(alphabets_list[1]) print(alphabets_list[4]) print(alphabets_list[-1]) # 알파벳 문자열의 인덱싱 alphabets_string = 'PANDA' print(alphabets_string[0]) print(alphabets_string[1]) print(alphabets_string[4]) p..
-
Python : while문, for 문, range함수 알아보기!Python 2020. 6. 27. 03:07
간단한 구구단 예제를 통해서 정리하겠습니다. i = 1 while i < 10: j = 1 while j < 10: print("{} * {} = {}".format(i, j, i * j)) j += 1 i += 1 # i와 j값들이 1씩 증가하면서 구구단을 만듭니다 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] for i in numbers: # i가 1부터 9까지 인덱싱한다 for j in numbers: # j가 1부터 9까지 인덱싱한다. print("{} * {} = {}".format(i, j, i * j)) #여기서 i와 j는 numbers의 리스트 값들을 참조합니다. numbers 리스트까지 생성해줘야 하는 불편함.... # range 함수 # 파라미터 개수에 따라 3가..