본문 바로가기

728x90
반응형

전체 글

(98)
[python] 이진탐색트리 검사 프로그램 임의의 이진트리에 대해 이진탐색트리인지 확인하는 검사 프로그램을 작성해 보자. class Tree: def __init__(self, data): self.data = data self.left = None self.right = None # Tree 객체의 값을 보기 위한 Magic Method def __str__(self): return str(self.data) def isBST(root, left = None, right = None): if (root == None) : return True # left node에 데이터가 있는지 확인 && left node가 root node 보다 작은지 확인 if (left != None and root.data = right.data): return Fa..
[python] map(), filter(), reduce() 구현 이전 포스팅에서 map()에 대해 간략히 포스팅한 적이 있다. map() 뿐만 아니라 Filter() 에 대한 설명도 같이 있으니, 동작원리에 대해 알고 싶다면 아래 링크를 참고하길 바랍니다. https://ssanggo.tistory.com/63 [python] Map(), Filter() map() : 반복가능한 iterable 객체를 받아서, 각 요소에 함수를 적용해 주는 함수 filter() : 특정 조건으로 걸러서 걸러진 요소들로 iterator 객체를 만들어서 리턴해주는 함수 [ Map()와 Filter() 작동원리 ] ssanggo.tistory.com Quiz 1 map()를 map_func 함수의 이름으로 구현하세요. 리스트의 데이터를 아래의 예제와 같이 더하는 함수를 만드는데 따로 함수..
[python] Decolator - ① Decolator : 함수를 받아 명령을 추가한 뒤 이를 다시 함수의 형태로 반환하는 함수 함수의 내부를 수정하지 않고 기능에 변화를 주고 싶을 때 사용하며, 일반적으로 함수의 전처리나 후처리에 대한 필요가 있을 때 사용을 한다. 또한, Decolator를 이용하여 반복을 줄일 수 있다. 예를 들어 아래와 같은 함수가 정의되어 있다고 가정을 하자. def plus(a, b): print("start") # code 1 result = a + b # code 2 print(f"result : {result}") # code 3 return result def minus(a, b): print("start") # code 1 result = a - b # code 4 print(f"result : {resu..
[python] Map(), Filter(), reduce() ○ map() : 반복가능한 iterable 객체를 받아서, 각 요소에 함수를 적용해 주는 함수 ○ filter() : 특정 조건으로 걸러서 걸러진 요소들로 iterator 객체를 만들어서 리턴해주는 함수 ○ reduce() : 리스트 데이터를 처음부터 순서대로 특정 함수를 실행하여 결과를 누적시켜 주는 함수 → "from functools import reduce" 해야 사용이 가능하다. [ Map()와 Filter() 작동원리 ] def odd_even(num): return "odd" if num % 2 else "even" ls = [1,2,3,4,5] print(list(map(odd_even, ls))) # 출력결과 ['odd', 'even', 'odd', 'even', 'odd'] def o..
[python] 함수 default 파라미터 함수 default 파라미터는 파라미터에 값을 지정해 줌으로써 만들 수 있다. 아래와 같이 plus 라는 함수를 정의를 하고, num1, num2를 함수 파라미터로 설정을 한 뒤, num2 = 10으로 설정하였다. def plus(num1, num2 = 10): return num1 + num2 [예시1] plus(3) 13 예시 1번에서는 plus(3) 을 출력하게 되면, num1 = 3이 입력되고, num2 는 default 값인 10이 들어가게 되어 13이 출력된다. [예시2] plus(3,5) 8 예시 2번에서는 plus(3, 5) 을 출력하게 되면, num1 = 3이 입력되고, num2 = 5 가 입력되어 8이 출력된다.
[python] 컴프리핸션(comprehension) 속도 비교 파이썬을 사용할 때 컴프리핸션을 이용하면 for문을 이용하는 것보다 좀 더 간결하게 코드를 작성할 수 있는 장점이 있다. 그런데, 코드의 간결화에 더불어 똑같은 코드를 동작시킬 때, 컴프리핸션이 for문 보다 대략적으로 2/3의 속도가 더 빠르다. 아래 예시를 보자. 아래 코드의 속도를 주피터에서 %%timeit 을 통해 셀 안의 코드 동작속도를 측정할 수가 있다. ls = [] for num in range(1, 10001): ls.append(num) len(ls) 더보기 540 µs ± 2.77 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each) 다음은 컴프리핸션으로 코드를 작성하고 속도를 측정해 보았다. ls = [num for num in ra..
[python] 구구단 프로그램(for문) 이중 for문을 통해 구구단 프로그램을 작성해 보자. for i in range(2, 10): for j in range(1, 10): print("{}*{}={}".format(i,j,i*j), end="\t") print()
[스마트 팜] 인공지능이 농사짓는 시대 스마트 팜(Smart Farm) 더보기 정보통신기술을 농업에 접목해서 작물과 가축의 생육환경을 자동/원격으로 적정하게 유지/관리 시스템을 갖춘 농장을 말하며, 분야별로는 스마트 온실, 스마트 과수원, 스마트 축사 등이 대표적인 스마트 팜의 예시이다. 등장배경 세대별 스마트 팜 모델 1세대 -. 농가 편의성 향상을 목적으로 개발된 1세대 스마트 팜은 자동화 및 ICT 기술을 적절히 조합한 모델이다. -. 1세대 스마트팜을 실제 도입한 농가는 편의성과 생산성 30% 증가하는 큰 효과를 얻었지만 농업인이 직접 환경을 설정하기 때문에 농사 지식은 있지만, ICT에 익숙치 않은 농업인에게 어려움이 있었다. 2세대 -. 2세대 스마트 팜은 인공지능이 빅데이터와 연상 정보로 생육을 진단하여 의사결정을 도와주는 시스템..

728x90
반응형