본문 바로가기

전체보기

(463)
[455] [수업 자료] 에라토스테네스의 체 에라토스테네스의 체 – 소수를 찾는 똑똑한 방법!1. 수업 개요주제에라토스테네스의 체 & 함수교과 연계수학: 소수의 개념, 체를 이용한 소수 탐색정보: 함수 개념, Python 프로그래밍수업 목표수학: 소수가 무엇인지 이해하고, 에라토스테네스의 체를 활용해 1부터 100까지의 소수를 찾아볼 수 있다.정보: 에라토스테네스의 체 알고리즘을 함수로 정의하고, Python 코드로 구현할 수 있다.2. 수업 흐름도입 - 소수의 개념 이해하기간단한 퀴즈로 '소수'의 개념을 학습하고, 소수와 합성수의 차이를 비교함.전개1 - 체를 활용한 소수 찾기 활동활동지를 활용해 직접 에라토스테네스의 체 활동 수행2의 배수 지우기 → 3의 배수 지우기 → … 반복남은 수들이 소수라는 것을 체험적으로 이해전개2 - 알고리즘으로 일..
[454] 제1회 코알라 프로그래밍 챌린지 후기 🐨💻 이번에 처음으로 개최한 코알라 프로그래밍 챌린지를 무사히 마무리하고, 그 후기를 블로그에 남겨봅니다. 😊1. 코알라란?코알라(Coalla)는 Coding + Algorithm + Lab의 줄임말로, 처음엔 다른 단어로 시작하였지만 이번 기회에 더 있어보이는 이름을 만들고 싶어서 제 마음대로(?) 고쳐봤습니다. 😄코알라는 현재는 쪼랩이라는 교사 커뮤니티에서 활동 중인 스터디로, 다음과 같은 주제를 함께 탐구하고 있습니다.문제 해결 중심 프로그래밍 학습자기 개발을 위한 알고리즘 공부수업에 문제 해결 프로그래밍을 어떻게 적용할 수 있을까?같은 관심사를 가진 선생님들과 함께 고민하고 실험하며 성장하는 소중한 공간입니다.2. 코알라OJ란?코알라OJ는 코알라 스터디에서 운영 중인 온라인 저지 시스템으로, 오픈소..
[453] 백준 2631번 - 줄세우기(LIS) 1. 문제https://www.acmicpc.net/problem/2631 2. 문제 이해임의의 순서로 수열이 주어질 때, 오름차순으로 정렬하기 위해 움직이는 최소 횟수를 구하는 문제입니다.움직일 때는 데이터를 정렬할 때처럼 자리를 서로 바꾸는 것이 아니라, 움직이는 수가 두 수 사이로 비집고 들어갑니다.[3, 7, 5, 2, 6, 1, 4] 가 주어질 때, 아래와 같이 최소 4번으로 정렬을 완성할 수 있습니다.3. 해결 방법해를 구하기 위해 두 가지를 살펴봅시다.가. 한 원소를 여러 번 움직일 필요가 없다.생각해보면 한 원소를 자리를 두 번 움직일 경우, 그냥 한 번에 최종 위치로 움직이는 것과 다름이 없습니다.굳이 두 번을 움직일 필요가 없고, 다시 말해 n개의 원소 중에 일부 원소만 선택해 자리를 ..
[452] 백준 11057번 - 오르막수(점화식과 DP테이블) 1. 문제https://www.acmicpc.net/problem/110572. 문제 이해길이가 N이고 원소가 한 자리 수인 단조 증가 수열의 개수를 구하는 문제입니다.단조 증가 수열은 나중에 나오는 원소가 이전의 원소보다 같거나 큰 수열을 말합니다.예를 들어 [2, 2, 3, 4]와 [3, 6, 7, 8], [1, 1, 1, 1, 9]는 단조 증가 수열이지만,[2, 2, 3, 2], [3, 6, 7, 6], [9, 1, 1, 1, 1]은 단조 증가 수열이 아닙니다.참고로 단조롭다는 표현은 영어로 monotonic으로 사용합니다. 3. 해결 방법우선 N이 1부터 차례대로 살펴봅시다. 길이가 1인 단조 증가 수열은 [0], [1], [2], [3], [4], [5], [6], [7], [8], [9]로 총..
[451] 백준 2240번 - 자두나무(DP 문제의 재미) 1. 문제https://www.acmicpc.net/problem/22402. 문제 이해물체의 상태는 1 또는 2이고 처음 상태는 1입니다.물체에게 정보가 1 또는 2가 임의로 최대 1000번 까지 순차적으로 주어지며, 물체의 상태와 같다면 값이 1 증가합니다.물체는 정보가 주어질 때 자신의 상태를 바꿀 수 있으며 바꾸는 횟수는 최대 30번입니다.이 때 얻을 수 있는 최대값을 구하는 문제입니다.3. 해결 방법가. 상태 변화 횟수와 현재 상태의 관계상태는 두 개(1 또는 2)이고, 처음 상태는 1로 고정이 되어 있습니다.상태를 홀수 번(1번, 3번, 5번, ...) 바꾼다면 상태는 2가 됩니다.상태를 짝수 번(0번, 2번, 4번, ...) 바꾼다면 상태는 1이 됩니다.다시 말해 상태 변화 횟수로 현재의 상..
[450] 백준 15486번 - 퇴사 2(DP 역순) 1. 문제https://www.acmicpc.net/problem/154862. 문제 이해상담원에게 상담을 할 수 있는 기간, 그리고 그 기간동안 매일 하나씩 상담이 주어집니다.각 상담은 완료까지 며칠이 걸리는지가 주어지고, 완료했을 때 가치가 주어집니다.상담원은 상담을 선택할 수도 있고 안 할 수도 있습니다.대신 상담이 진행 중이라면 새로운 상담을 선택할 수 없습니다.이 때 상담원이 얻을 수 있는 최대 가치를 구하는 문제입니다.각각 n개의 칸에서 시작하는 적당한 길이(T)의 막대가 있고, 막대에 값(P)이 정해져 있는 상황으로 바꾸어 생각할 수 있습니다.겹치지 않게, 그리고 n을 넘지 않게 막대를 적당히 골라, 값의 합을 가장 크게 하는 문제로 바꾸어 이해할 수 있습니다.3. 해결 방법막대를 순서대로..
[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..
[448] 약수 학습하기 1. 개념 소개여러분, 약수라는 말을 들어본 적이 있나요? 약수란 어떤 수를 나누어떨어지게 만드는 숫자입니다. 쉽게 말하면, 어떤 수를 나누었을 때 나머지가 0이 되면, 그 숫자는 약수라고 할 수 있습니다. 예를 들어, 12라는 숫자를 생각해 보겠습니다. • 1로 나누면 12 ÷ 1 = 12 (나머지 0, 약수입니다!) • 2로 나누면 12 ÷ 2 = 6 (나머지 0, 약수입니다!) • 3로 나누면 12 ÷ 3 = 4 (나머지 0, 약수입니다!) • 4로 나누면 12 ÷ 4 = 3 (나머지 0, 약수입니다!) 이렇게 12를 나누었을 때 나머지가 0이 되는 숫자들은 모두 12의 약수입니다.2. 실생활 예제 약수는 우리 일상에서도 쉽게 찾아볼 수 있습니다. 예를 들어, 초콜릿 12개가 들어 있는 상자가 있다..