분류 전체보기 1298

[정보올림피아드 대비]16. 점화식(재귀 포함)을 이용한 문제

점화식이란 수열에서 이웃하는 두개의 항 사이에 성립하는 관계를 나타내는 관계식이다. 즉, 수열 { an }의 각 항 an 이 함수 f를 이용해서 f(an) = an+1 과 같이 귀납적으로 정의 될때 f를 수열 {an}의 점화식이라고 하며 또한 수열 {an}은 점화식 f로 정의 된다고 한다. 예) 하노이의 탑 유명한 하노이이탑 문제는 n개의 원판을 이동하는 회수를 수열 an으로 정의 하면 n개의 원판을 이동시키기 위해서는 그 위쪽 n-1개의 원판을 다른 막대로 이동한 후, 맨 아래쪽 원판을 이동하고 다시 n-1개의 원판을 이동해야 하므로 다음과 같은 점화식이 성립함을 알수 있다. f(n) = f(n-1) + 1 + f(n-1) = 2*f(n-1) + 1 = 2^n - 1 (단, f(1)=1) 예) 피보나치..

[알고리즘] 분할정복

분할정복 알고리즘이란? 분할정복(Divide and conquer algorithm)은 그대로 해결 할 수 없는 문제를 작은 문제로 분할하여 문제를 해결하는 방법이다. 대표적인 예로 퀵정렬 또는 합병정렬과 같은 알고리즘이 있다. 알고리즘을 설계하는 요령 - Divide : 문제가 분할이 가능한 경우, 2개 이상의 문제로 나눈다. - Conquer : 나누어진 문제가 여전히 분할이 가능하면 또 다시 Divide를 수행한다. 그렇지 않으면 문제를 정복한다. - Combine : : Conquer한 문제들을 통합하여 원래 문제의 답을 얻는다. ※ 문제를 제대로 나누면 conquer 하는 것이 쉽기 때문에 Divide 를 제대로 하는것이 가장 중요하다. 분할정복 알고리즘 예 function F(x): if F(..

강의자료/알고리즘 2023.01.11 (12)

[머신러닝활용] OpenCV 사용법 알아보기

머신러닝 모델을 만들었다면 그것을 어떤식으로 활용을 하는지 무척 궁금했었는데요. 머신러닝 활용 편에서는 기존에 만들어진 모델들을 활용해서 어떻게 사용되는지 살펴 보도록 하겠습니다. 이미지 처리 분야에서 가장 많이 사용되는 OpenCV에 대해서 살펴 보도록 하겠습니다. 1. OpenCV란 OpenCV(Open source Computer Vision) 는 실시간 컴퓨터 비젼을 처리하는 목적으로 만들어진 라이브러리이다. 설치 방법 pip install opencv-python 2.이미지 파일 읽기 cv2.imread 함수로 이미지 파일을 읽는다. 이미지 파일은 Numpy array 형태의 값으로 입력이 되고 이 숫자가 해당 위치에서의 색을 의미한다. 사용법 cv2.imread(fileName, flag) f..

강의자료/머신러닝 2023.01.10 (11)

[초등 1학년 2학기] 10이 되는 수를 찾기 엔트리 코딩

https://ko.khanacademy.org/math/kor-1st-2/xdffa2afcc11cd098:1-2-4/xdffa2afcc11cd098:1-2-4-6/v/getting-to-10-by-filling-boxes 오늘은 1학년 2학기에서 배우는 10보다 작은 어떤 임의의 갯수의 햄버거가 있는데 몇개를 더 더했을때 10이 되는지를 확인하는 게임을 만들어 보겠습니다. ​ 1학년 1학기에서 1부터 10보다 작은 수를 배웠는데 조금 더 확장해서 두자리수를 배우기 전에 두자리수의 처음이 되는 10이 되는 원리를 이해하고 여기에서 덧셈과 뺄셈의 개념을 이해하게 됩니다. ​ 작품소개 처음 시작하면 그릇에 임의의 갯수(1부터 9 사이)의 햄버거를 담아 놓은 다음 엔트리봇이 다음과 같이 질문을 합니다. "그릇..

[인공지능수학] 등차수열의 합 실습하기

등차수열이란? 앞과 뒤의 두 항의 차이가 일정한 수열을 말합니다. 11,14,17... 은 두 항의 차이(공차)가 3으로 일정한 등차 수열입니다. 이러한 등차 수열에서 n번째 항의 값 = 초항 + (n-1) * (공차) 예를 들어 1 부터 시작하는 공차 1인 수열이라면 1,2,3,... 과 같이 진행 되는데 10번째 항의 값을 구하려면 초항 1의 9번째 뒤의 값이므로 (10-1)번째 * 공차(1) 을 더해 주면 10이라는 수를 구할 수 있습니다. 등차수열의 합은 (초항 + n번째 항의값) * n(개) / 2로 확인을 할 수 있는데 이 공식은 가우스가 초등학교 3학년때 1부터 100까지의 수를 더하라는 선생님의 문제에 1과 100을 짝짓기 해서 50개를 만들어서 곱셈으로 풀었다는 그 유명한 공식입니다. 오..

[정보올림피아드 대비]15. 집합의 성질을 이용한 문제

1.집합(Set)이란? 명확한 기준에 의해 분류되어 공통된 성질을 가지며 중복되지 않는 원소(Element,Member)의 모임 2. 집합의 표기 방식 1. 원소나열법 : 집합에 포함되는 원소들을 일일이 나열하는 방법 예) A = {1,2,3,4,5} 2. 조건제시법 : 집합에 포함되는 원소들이 공통적인 성질을 조건식으로 제시하는 방법 예) A = {x | 0< x

[자료구조] Suffix Array(접미사 배열)

컴퓨터 과학에서 접미사 배열(Suffix Array)란 어떤 문자열의 접미사를 사전식 순서대로 나열한 배열을 말한다. S = S[0]S[1]...S[n-1] 이라는 문자열이 있다고 하자. 이때 S[i,j] 는 i번째 문자부터 j번째 문자 까지 S의 부분 문자열이라고 하자. 문자열 S에 대한 접미사 배열 A는 S의 접미사들을 사전식 순서로 정렬 했을 때 접미사의 시작 위치를 저장한 정수 배열이다. 즉 A[i] 에 저장 된 내용은 사전순으로 i 번째인 S의 접미사의 시작 위치이다. 다시 말하면 문자열 S의 길이를 n이라고 할 때 , 0

강의자료/알고리즘 2023.01.04 (10)

[초등 1학년 1학기] 어떤 수가 클까요?

문제 출처 : https://ko.khanacademy.org/math/kor-1st-1/x22720cd23d5246e1:1-1-5 5단원에서는 50까지의 수를 배웁니다. 여기서는 1부터 50까지의 임의의 수를 퀴즈를 내서 어떤 수가 큰지 맞춰 보는 게임을 만들어 보겠습니다. ​ 작품소개 엔트리봇이 시작하기를 클릭하면 1부터 50까지의 임의의 수 2개를 선택합니다. 그리고 그 두수 중 어떤 것이 큰지 정답을 말하라고 하면서 정답을 맞추면 참 잘했어요! 라고 말하면서 +10 점을 틀리면 조금 더 노력하세요! 라고 말하면서 -5점을 줍니다. ​ 총 10문제를 출제하고 마지막에 당신의 점수는 ()점입니다. 라고 말을 합니다. ​ 알고리즘 1부터 50까지의 임의의 수를 저장할 변수 두개를 선언합니다.(첫번째수,..

자율비행 드론을 사수하라

드론의 상용화가 가져올 사회 변화를 탐구하고 트론을 활용한 다양한 미션을 체험할 수 있는 중1~고3 학생이 신청할 수 있는 캠프입니다. 일시 : 01월 12일(목) 09:00 ~ 01월 13일(금) 15:30 신청 : 12월 30일(금) 09:00 ~ 01월 04일(수) 16:30 장소 : 인천 연수구 송도교육로111번길 15 인천재능대학교 송도캠퍼스 강의동 305호 출석이 가능한 학생만 신청이 가능합니다. 미션을 해결하며 파이썬 기초, AR마커 활용, OpenCV를 이용한 자율비행을 배울 수 있는 교육캠프입니다. 자세한 사항은 홈페이지 를 참고 하세요. https://newsac-application.kr/camps/54028 디지털새싹 - 겨울방학캠프 디지털 새싹 소프트웨어, 인공지능 캠프 newsa..

미래직업 2023.01.02 (14)

따뜻한 감동의 손편지

저희 원에서 수강을 하고 있는 성인 분께서 원장님께 크리스마스 이브 선물을 주고 가셨네요.^^ 따뜻한 마음을 담은 사랑의 쿠키가 그 무엇보다도 감동이었습니다.^^ 2022년도 한해 학생들의 배움의 열기로 저도 하나씩 깨달아 가면서 학생들과 같이 있는 시간이 가장 행복하고 즐거운 시간이었습니다. 한해 한해 지나면서 새로움을 배울 수 있는 머리 용량이 하나 하나 줄어 드는 것을 느끼고는 있지만~ 그래도 우리 학생들의 배움의 열기 앞에서 저 자신을 채찍질 하게 됩니다. 2023년에도 열심히 노력하고 준비해서 우리 학생들에게 질 높은 수업을 위해 최선을 다하도록 노력하겠습니다.^^ 모든 분들에게도 2023년 새해 소망을 모두 이루시길 간절히 기원합니다. 감사합니다.