분류 전체보기
01_ATmega128 프로젝트_스마트 독서실
이번에 학교에서 개인프로젝트로 ATmega 128 프로젝트를 진행하게 되었다. 내가 생각한 프로젝트는 뭘할까... 꽤 오랜시간 고민하다가 요즘 에브리타임에도 많이 올라오고 옛날부터 느꼈던 독서실같은데서 짐만놓고 가는사람들! 30분이상 자리를 비우면 치워도 되게 하는 독서실을 만들게끔 하였다. 사용자 ( KEYPAD로 정보교환 ) 들어갈때 비어있는 자리 or 30분 이상 자리 상태 확인 가능 (초음파 or 적외선 센서) 원하는 좌석과 핸드폰번호 입력시 입장 가능 ( 서브모터로 문 구현 ) 본인 좌석과 핸드폰번호 입력시 퇴장 처리 기능 자리비움 30분(실전 30초) 이상시 LED불이 켜져 치워도 되는 자리 표시 ( 타이머 카운트 ) 관리자 ( USART로 정보교환) 관리자 비밀번호 설정, 변경 쫓아내기 기능..
04_content 구분 & 문자콘텐츠
오늘은 HTML의 콘텐츠들의 역할 및 사용법을 간단하게 공부했다. header - 제목정보들 footer - 페이지 맨 하단 6단계의 문서 제목 구현 aside - 광부부분? 오른쪽에 따로 되어져있는 부분 nav - navigation address - 연락처 제공 위에 모두 블럭요소 (영역설정,레이아웃설정!) 우리가 책을 읽을때도 목차부터 해서 큰주제부터 작은주제로 나누어지듯이 사이트들도 만들어지게 된다. Apple Apple Banana Mango Banana Mango Apple Apple Banana Mango Banana Mango ul은 순서를 구분할 수 있는데 파이썬 함수안의 key값들로 추가기능을 할 수있는거같은 기능들이 포함되어 있다. 코드와 실행화면을 한번씩만 보면 바로바로 이해가 될 ..
04_ 피보나치 수열 및 여러 문제들(hard)
input = 20 def fibo_recursion(n): # 구현해보세요! if n==1 or n==2: return 1 return fibo_recursion(n-1) + fibo_recursion(n-2) print(fibo_recursion(input)) # 6765 피보나치 수열은 재귀함수로 간단하게 구현할수 있다... 하지만 굳이 n-1, n-2 이렇게 저장하면서 하면 될꺼같은데 이렇게 계산량을 늘릴 필요가 있나? 싶던 찰나에 input = 100 # memo 라는 변수에 Fibo(1)과 Fibo(2) 값을 저장해놨습니다! memo = { 1: 1, 2: 1 } def fibo_dynamic_programming(n, fibo_memo): if n in fibo_memo: return fib..
03_ DFS , BFS
얘네는 딱 하나만 기억하면 될거 같다. DFS는 깊게 트리를 분석하는거, BFS는 한단계씩 전반적으로 파고들어가는것! DFS부터 봐보자. graph = { 1: [2, 5, 9], 2: [1, 3], 3: [2, 4], 4: [3], 5: [1, 6, 8], 6: [5, 7], 7: [6], 8: [5], 9: [1, 10], 10: [9] } visited = [] def dfs_recursion(adjacent_graph, cur_node, visited_array): # 구현해보세요! visited_array.append(cur_node) for adjacent_node in adjacent_graph: print(adjacent_node) if adjacent_node not in visited_..
02_heap
heap은 비선형 자료구조이다. 가장 큰 값이나 가장 작은값이 항상 첫번째로 들어가게 한다. sorted와는 다르게 이진트리 방식으로 구성되어 있는것이 특징. class MaxHeap: def __init__(self): self.items = [None] def insert(self, value): # 구현해보세요! self.items.append(value) cur_index = len(self.items) -1 while cur_index > 1: parent_index = cur_index // 2 if self.items[cur_index] > self.items[parent_index]: self.items[cur_index] , self.items[parent_index] = self.ite..
01_1week
첫주에 배운건 자료구조적인 느낌보단 전반적인 알고리즘에 익숙해지는 느낌이었다. 나중에 깃에 모아서 올릴 생각이다. 사실 첫주에 배운게 2주전이다.. 블로그를 시작하기 전이니까 정리해보면서 복습하려고 파일들을 열었는데 주석처리가 안되어 있으니까 어떤 문제였는지 다시 생각해봐야 한다.. 이래서 주석이랑 깔끔하게 정리해 두는 습관이 중요한것 같다. 앞으로는 체계적이고 주석남겨가면서 꼼꼼히 정리해야겠다. 서론이 길었고 시작해야겠다. 아마 코드들이랑 간단한 리뷰들만 쓸 것 같다. 1. 가장 많은 알파벳을 출력 input = "hello my name is sparta" def find_max_occurred_alphabet(string): # 이 부분을 채워보세요! alphabet_array = [0] * 26 ..