본문 바로가기
반응형

● 알고리즘, 자료구조67

3. 메서드, 함수란? 메서드란? 객체의 능력. 언어로 따지만 메소드는 동사임. 래시는 개로써 짖을 수 있는 능력이 있음. 그래서 bark() “래시”의 한 메소드가 됨. 이것 외에 다른 메소드들도 가질 수 있음. 예를 들면 sit(), eat(), walk() 또는 save_timmy() 등. 프로그램 내에서는 메소드는 하나의 객체에만 영향을 줄 수 있음. 모든 개는 짖을 수 있지만, 실제로 짖는 행위는 수행하는 개는 하나 밖에 없음. 함수란? 메서드와 함수의 차이는? 메서드 함수 클래스 및 객체(object)와 연관되어 있는 함수 클래스 및 객체와 무관한 독립적인 것 2021. 5. 18.
[파이썬을 이용한 데이터베이스 처리] 2. 클래스란? 인스턴스란? 클래스(Class)란? 하나의 형식, 템플릿 어떤 물체(객체)의 특징(필드 또는 속성)과 행동(메소드, 연산 등의 기능) 등 추상적인 특성을 정의. 클래스를 어떤 것의 특성을 설명하는 설계도 혹은 공장이라고도 이야기함. 예를 들어, 개 라는 클래스는 품종 또는 털색깔(특성), 혹은 짖거나 앉는 행위(행동) 등 개들이 가지는 특성을 가짐 인스턴스(instance)란? 클래스 안에서 인스턴스 혹은 특정 객체를 가질 수 있음. 인스턴스란 실행 중 실제로 생성된 객체를 의미. 프로그래머의 용어를 따르면, “래씨"라는 객체는 “개”라는 클래스의 한 인스턴스임. 특정 객체의 특성들을 모아놓은 것을 상태라고 함. 객체는 클래스 안에서 정의된 상태와 행동으로 구성됨. 클래스의 구조 메서드 : 클래스 내에 정의된 기능,.. 2021. 5. 18.
[파이썬을 이용한 데이터베이스 처리] 1.객체(object)란? • 프로그램은 서로 협력하는 여러 개의 객체로 구성 • “전체 프로그램”이 아닌 각각의 객체가 마치 프로그램 안의 “섬”같이 서로 협력하여 작동 • 프로그램은 함께 실행되는 여러 개의 객체로 구성 - 객체는 서로의 기능들을 활용 각 객체들이 서로 협력하여 하나의 프로그램을 이룬다. 즉, 프로그램 = 여러 객체로 구성됨 객체란? 하나의 자족적인 코드와 데이터 클래스에 속한 하나의 인스턴스 객체의 장점? 세부사항을 감춤으로써 세부사항을 무시할 수 있게 해줌 객체 지향? 객체 지향 접근의 요점은 문제를 이해가능한 작은 문제로 분할하여 접근 (분할 정복 divide and conquer) 2021. 5. 18.
a = map(int,input().split()) / a = list(map(int,input().split())) 차이 >>> a = map(int,input().split()) 1 2 3 >>> a >>> type(n) >>> a = list(map(int,input().split())) 1 2 3 >>> a [1, 2, 3] >>> n[0] 1 >>> type(n) 2021. 2. 16.
[코드업 파이썬] 1164, ,1167, 1168, 1169, 1171, 1172, 1173, 1180 코드업 1164 어떤 차의 높이가 170cm 이다. 이 차는 3개의 터널을 차례대로 지나게 될 것이다. 터널의 높이가 차의 높이보다 같거나 낮다면 차는 터널과 충돌하여 사고가 날 것이다. 터널의 높이가 차례대로 3개 주어지면 터널을 무사히 잘 통과하면 PASS 를 출력하고, 사고가 난다면 CRASH 를 출력하시오. # 3개 정수 입력 # 170보다 같거나 작으면 "CRASH"를 출력, 그 보다 크면 "PASS"를 출력하시오. ''' a,b,c = map(int,intput().split()) if a 170 : print("PASS") ''' height_1, height_2, height_3 = input().split() height_1 = int(height_1) height_2 = int(heig.. 2021. 2. 16.
[코드업/파이썬] 1065, 1066, 1067, 1070 [코드업 1065] 세 정수 a, b, c가 입력되었을 때, 짝수만 출력해보자. if문을 여러개 사용하면 해결. (이럴 때 반복문을 쓴다.) 만약 elif를 쓰면 해당되는 것 하나만 출력된다. a,b,c = map(int,input().split()) if a % 2 == 0 : print(a) if b % 2 == 0 : print(b) if c % 2 == 0 : print(c) [코드업 1066] 세 정수 a, b, c가 입력되었을 때, 짝(even)/홀(odd)을 출력해보자. # 세 정수 a, b, c가 입력되었을 때, 짝(even)/홀(odd)을 출력해보자. a,b,c = map(int,input().split()) num = a,b,c # num은 tuple 형태 # 리스트 형태도 반복문에서 .. 2021. 2. 16.
[기초] 3항연산자 (삼항연산자) : 코드업 1063, 1064 파이썬 입력된 두 정수 a, b 중 큰 값을 출력하는 프로그램을 작성해보자. 단, 조건문을 사용하지 않고 3항 연산자 ? 를 사용한다. a,b = map(int,input().split()) print(a if a>b else b) and : & or : | 입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자. 단, 조건문을 사용하지 않고 3항 연산자 ? 를 사용한다. 3개를 비교해야함 하지만 내장함수를 사용하지 않고는 한 번에 3개를 비교하긴 어려움(방법은 있을듯) 일단 2개씩 비교해서 값을 찾자 a,b,c = map(int,input().split()) minNum = a if b > a else b # a,b 부터 비교 print(minNum if c > minNum else .. 2021. 2. 14.
모바일 앱 코딩사이트 https://ideone.com/Ideone.comIdeone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.ideone.com 2021. 2. 13.
파이썬 모듈 만들기. 먼저 파이썬 모듈을 만들자. 1. 파이썬을 Anaconda로 설치한 경우 모듈이 모여 있는 폴더인 anaconda3 > lib에 해당 모듈 파일을 저장한다. 그 후 실행해보면 정상적으로 실행한다 2. 파이썬을 별도로 설치한 경우 해당 파이썬이 있는 경로에 모듈파일을 넣어야한다. 그렇지 않으면 다음과 같은 에러가 발생한다. Traceback (most recent call last): File "", line 1, in import usecsv ModuleNotFoundError: No module named '~~' 방법은 2가지가 있다. 1. 하단 처럼 현재 파일의 경로를 확인하여 해당 경로에 파일을 넣거나 (그런데 System32에 넣으니 그대로 모듈에러가 난다.) >>> import os >>> o.. 2021. 1. 5.
깃허브에서 파일 다운받는 방법 1. 한번에 다운받기 2. 개별 다운받기 다운받고자 하는 파일로 들어간 뒤 RAW버튼 클릭 그 후 하단과 같은 창이 뜨면 Ctrl + S 로 저장하기 2021. 1. 5.
다중 if문 x = 12 if x > 10 : if x % 2 == 1 : print("x는 10이상의 홀수") elif x % 2 == 0 : print("x는 10이상의 짝수") 2020. 10. 15.
함수란? 함수란? 프로그래밍에서 함수(function)란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로 정의할 수 있습니다. C 프로그램은 이러한 함수들로 구성되며, 포함된 함수들을 사용하여 프로그램의 목적을 달성하게 됩니다. 함수를 사용하는 이유 함수를 사용하는 가장 큰 이유는 바로 반복적인 프로그래밍을 피할 수 있기 때문입니다. 프로그램에서 특정 작업을 여러 번 반복해야 할 때는 해당 작업을 수행하는 함수를 작성하면 됩니다. 그리고서 프로그램이 필요할 때마다 작성한 함수를 호출하면 해당 작업을 반복해서 수행할 수 있습니다. 또한, 프로그램을 여러 개의 함수로 나누어 작성하면, 모듈화로 인해 전체적인 코드의 가독성이 좋아집니다. 그리고 프로그램에 문제가 발생하거나 기능의 .. 2020. 10. 14.
[기초코딩] 100에서 1까지 거꾸로 출력하기 # 여기 빈 리스트가 있습니다. number_list = [] # number_list에 1부터 100까지 수를 거꾸로 넣어보세요 # 예: 100, 99, 98, ... 3, 2, 1 # number_list.append("abc") # 100에서 거꾸로 거꾸로 넣으려면 어떻게 해야하지?? for i in range(0,100) : # 왜 0 ~ 99까지 출력되도록 넣은걸까?? number_list.append(100 - i) for i in range(0,100,-1) : number_list.append(i) # number_list에서 10번째, 30번째, 50번째 원소를 각각 출력해봅시다 print(number_list[9]) # 10번째 원소 print(number_list[29]) # 30번째.. 2020. 9. 20.
함수 def add(a,b) : c = a+b print(c) add(3,3) ''' def add(a,b): c=a+b return c # 결과값을 호출하는것에 c를 반환함 # return은 결과값을 반환 print(add(3,2)) ''' ''' def add(a,b) : c = a+b d = a-b return c,d print(add(2,2)) # 출력값 (4, 0) ''' # list에서 소수만 출력해보자 # 소수는 1과 자기자신만 존재해야 소수 # 지역변수 x def isPrime(x) : for i in range(2,x): # 2부터 x앞까지만 반영됨 if x%i==0: return False return True a = [12,13,7,9,19] for y in a : if isPrime(y).. 2020. 9. 11.
선택 정렬 쉽게 설명한 선택 정렬 알고리즘 총 2개의 함수가 필요하다. 첫번째는 최소값을 가지고 있는 인덱스를 찾는 함수 - for 두번째는 최소값을 지닌 리스트를 순서대로 쌓는 함수 - while - pop - append # 가장작은 값을 지닌 값의 인덱스를 찾는 프로그램 def find_min_idx(num) : len_num = len(num) min_idx = 0 # 초기 인덱스를 줌 for i in range(1,len_num) : # 초기 인덱스 0과의 비교는 할 필요없으니 1부터 시작 if num[i] 2019. 9. 27.
순차탐색 리스트안에 있는 원소를 하나씩 순차적으로 비교하면서 탐색한다. 순차탐색알고리즘 주어진 리스트에서 특정 값을 찾아 해당 인덱스를 돌려주는 프로그램을 작성하라 해당 인덱스를 여러개 입력해도 하나만 걸리면 리턴하도록 외부값과 내부값을 비교하는 것이므로 이중 for문을 쓰지 않는다. # 주어진 리스트에서 특정 숫자의 인덱스 찾기 # 입력 : 리스트 a, 찾는 값 x # 출력 : 찾으면 그 값의 위치, 못찾으면 -1 def search(a,x) : len_a = len(a) for i in range(len_a) : if x == a[i] : return i return -1 # 만약 for > if > else문에 작성하게 되면 for문 전체를 검사하지 않고 return되어 값을 못찾는다. # 주어진 리스트에서.. 2019. 9. 26.
최대공약수 GCD 알고리즘. 유클리드. GCD는 두 개 이상의 정수의 공통 약수 중 가장 큰 값을 의미 최대공약수 알고리즘 1. 4,6 중 작은 수인 4를 i에 저장 2. 4는 i로 나눠떨어지나 6은 아니다 3. i-1을 해서 3으로 만든다 4. i는 6과 나눠떨어지나 4은 아니다 5. i-1을 해서 2로 만든다 6. i는 4,6 모두와 나눠떨어지므로 2가 최대공약수이다. def gcd(a,b) : i = min(a,b) while True : if a % i == 0 and b % i == 0 : return i i -=1 유클리드 알고리즘 유클리드가 발견한 GCD성질을 이용한 알고리즘! 유클리드가 발견한 것은 다음과 같다 a,b의 GCD는 'b' 와 'a를 b로 나눈 나머지'의 최대공약수와 같다. 즉, gcd(a,b) = gcd(b, a%.. 2019. 9. 25.
파이썬 기초. 리스트. 집합. 반복비교 리스트 len(a) 리스트 길이(자료 개수)를 구한다 a = [] len(a) append(x) 자료 x를 리스트의 맨 뒤에 추가 insert(i,x) 리스트의 i번 위치에 x를 추가 a.insert(0,5) # 0번 인덱스에 5추가 pop(i) i번 위치에 있는 자료를 리스트에서 빼내면서 그 값을 함수의 결과값으로 돌림만약 i 미지정시 맨 마지막 값을 뺌 a.pop() a.pop(0) # 0번 인덱스 출력되고 빠짐 clear() 리스트의 모든 자료 지움 a.clear() # 빈리스트됨 x in a 어떤 자료 x가 리스트 a안에 있는지 확인. (x not in a는 반대) a = [1,2,3] 2 in a 3 in a 4 in a 총합을 구하는 알고리즘 def sum(n) : return n*(n+1) .. 2019. 9. 25.
반응형