인기 글
-
2. 정보영재교육 수업 자료
[436] 피보나치 수열을 구하는 여러 가지 방법(파이썬 코드)
1. 피보나치 수열?다음 문제들을 살펴보고 공통점을 생각해봅시다. 한번에 한 칸 또는 두 칸의 계단을 올라갈 수 있습니다.이 때, n칸을 올라가는 경우의 수는 몇 가지일까요? n개의 육각형이 두 줄로 그림과 같이 배치되어 있습니다.인접한 칸으로 이동이 가능하고, 현재 칸보다 숫자가 더 큰 칸으로 이동할 수 있습니다.1에서 n까지 이동하는 경우의 수는 몇 가지일까요? 첫번째 달에는 어린 암수 토끼 한 쌍이 있습니다.어린 암수 토끼 한 쌍은 한 달이 지나면 다 큰 암수 토끼 한 쌍이 됩니다.다 큰 암수 토끼 한 쌍은 한 달이 지나면 어린 암수 토끼 한 쌍을 낳습니다.n번째 달에는 토끼가 몇 쌍일까요? 문제는 모두 다르지만, 모든 문제의 공통점은 n번째의 수가 (n-1)번째와 (n-2)번째를 더한 수가 된다는..
-
3. 알고리즘 공부
[248] 비트마스크 + 동적 프로그래밍(DP)
1. 비트마스크 비트마스크(BitMask)는 이진수를 사용하는 컴퓨터의 연산 방식을 이용하여, 정수의 이진수 표현을 자료 구조로 쓰는 기법을 말합니다. 이진수는 0 또는 1을 이용하므로 하나의 비트(bit)가 표현할 수 있는 경우는 두 가지입니다. 보통 어떤 비트가 1이면 "켜져 있다"라고 말하며, 0이면 "꺼져 있다"라고 말합니다. https://ko.wikipedia.org/wiki/마스크_(컴퓨팅) 마스크 (컴퓨팅) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 컴퓨터 과학에서 마스크(mask) 또는 비트마스크(bitmask)는 특히 비트 필드에서 비트 연산에 사용되는 데이터이다. 마스크를 사용하면 바이트, 니블, 워드 등의 다 ko.wikipedia.org 가. 비트 크기 ..
-
6. 컴퓨터 공학 공부
[133] 소프트웨어공학 09차시 구조적 분석기법
1. 구조적 분석기법 개요 가. 1970년대 탄생한 분석기법 1) 사용자의 필수적 요구사항을 적절한 기능단위로 분할하고 개발흐름에 따라 소프트웨어를 모델링하는 분석기법 2) 대표적 구조적 분석기법 기능 중심의 자료흐름도(DFD) 자료사전(DD) 소단위명세서(Mini Spec) 나. 구조적 분석기법의 원칙 1) 추상화의 원칙 특정 대상에 대한 실체를 분리하기 위하여 '어떻게'가 아닌 '무엇'으로 표현하는 간소한 방법 사소한 것에 제약을 받지 않고 문제를 해결할 수 있게 함. 2) 정형화의 원칙 소프트웨어의 제어와 산출물의 품질관리를 위한 기초가 됨. 형식이 생각과 명령을 자동화(일반화)시킬 수 있는 근거를 제공 3) 분할정복 복잡하고 큰 시스템을 좀 더 작고 독립적인 서브시스템으로 나누고, 작게 분할된 시..
-
2. 정보영재교육 수업 자료
[59] 여러 명이 자리를 바꿔 앉는 경우의 수 - 완전 순열
1. 문제 상황갑자기 재밌는 문제가 떠올랐습니다.\(n\)명의 사람들이 자리를 바꿔 앉으려고 합니다. 이 때 모두가 자기의 자리에는 앉지 않으면서, 자리를 바꿔 앉는 경우의 수를 \(a_{n}\)이라고 할 때, \(a_{n}\)은 얼마일까요?2. 사람 수가 적을 때부터 생각해보기\(n\)이 \(\mathbf{1}\)이면 바꿔 앉을 의자가 없기 때문에 0가지 입니다. (\(a_{1}=0\))\(n\)이 \(\mathbf{2}\)이면 두 명이 서로 바꿔 앉는 방법 밖에 없기 때문에 1가지 입니다. (\(a_{2}=1\)) \(n\)이 \(\mathbf{3}\)일 때를 생각해봅시다. 일단 세 명이서 자리에 앉는 모든 경우를 생각해봅시다.\(\left\{1, 2, 3\right\}\), \(\left\{1, 3..
-
2. 정보영재교육 수업 자료
[435] 에라토스테네스의 체(소수 구하기) (파이썬 코드)
1. 에라토스테네스의 체(소수 구하기) (파이썬 코드)n = 50p = [True] * (n+1)p[0], p[1] = False, Falsefor i in range(2, int(n**0.5)+1): if p[i]: for j in range(i*2, n+1, i): p[j] = Falseprint([i for i in range(n+1) if p[i]])# [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]풀어볼 문제: 소수 구하기(https://www.acmicpc.net/problem/1929)2. 소수(Prime Number)1 보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수를 말합니다.3. 소수 판..
-
2. 정보영재교육 수업 자료
[449] 완전수 쉽게 배우기
1. 완전수란 무엇일까?완전수는 자신을 제외한 모든 약수의 합이 자기 자신과 같은 수를 말해.먼저, 진약수라는 개념을 알아보자.진약수는 자기 자신을 제외한 약수를 뜻해.예를 들어, 숫자 6의 약수는 1, 2, 3, 6인데, 이 중 6을 뺀 1, 2, 3이 바로 6의 진약수야.진약수의 합에 따라 숫자는 세 가지로 나눌 수 있어. 완전수: 진약수의 합이 자기 자신과 같은 수예: 6의 진약수는 1, 2, 3이고, 이걸 더하면 6이 돼. 그래서 6은 완전수야! 부족수: 진약수의 합이 자기 자신보다 작은 수예: 8의 진약수는 1, 2, 4이고, 이걸 더하면 7이야. 7은 8보다 작으니까, 8은 부족수야. 과잉수: 진약수의 합이 자기 자신보다 큰 수예: 12의 진약수는 1, 2, 3, 4, 6이고, 이걸 더하면 1..