2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

강의자료 342

기하알고리즘] 회전하는 캘리퍼스

캘리퍼스란? 캘리퍼스는 작은 물건의 지름,너비 등을 측정할 때 쓰는 도구로 두개의 평형한 변 사이의 길이를 측정하는 도구이다. 회전하는 캘리퍼스(Rotating Calipers) 알고리즘이란? 회전하는 캘리퍼스 알고리즘은 실제 볼록 다각형의 지름을 재는데 사용된다. 다각형을 따라 두 직선을 한바퀴 돌리면서 두 직선에 닿는 꼭지점들 간의 거리를 구하는 알고리즘이다. 백준 10254번 고속도로 문제를 기준으로 살펴 보자 https://www.acmicpc.net/problem/10254 10254번: 고속도로 n개의 도시를 가진 나라가 있다. 이 나라에서는 도시들 중 가장 먼 두 도시 사이에 직행 고속도로를 놓으려 한다. 고속도로는 시작점과 끝점이 아닌 다른 나라를 통과해도 된다. 즉, n개의 도시 www...

[사고력 수학]과일의 갯수를 맞혀라.

원당이는 원당동에서 과수원을 하고 있다. 과일을 수확하여 모두 판매를 한 다음 사과가 41개,배 67개, 귤 92개를 최대한 많은 마을 주민들에게 똑같은 개수로 나누어 주었더니 사과 2개,배 1개,귤 2개가 남았다. 그렇다면 원당이가 나누어 준 마을 사람은 몇명이고 몇 개씩을 나누어 주었는지 개수를 맞혀 보시오. 문제풀이) 사과 2개,배 1개, 귤 2개가 남았으므로 마을 사람들에게 나누어준 갯수는 사과 39개,배 66개, 귤 90개 이다. 이 수의 최대 공약수는 3이므로 최대 3명에게 각각 사과 13개,배 22개, 귤 30개 씩을 나누어 주었다. 이 문제는 최대공약수를 활용하여 최대한 많은 사람을 찾아 주는 문제 였습니다. 정답) 3명에게 사과 13개,배 22개, 귤 30개 씩을 나누어 줌

[알고리즘 수학]가짜동전 찾기 문제

문제 크기와 모양이 똑같은 n 개의 동전이 있다. 그 중에 1개의 동전이 가짜 동전이라고 한다. 이 가짜 동전의 무게는 진짜동전과 구별 할 수 없는데 단지 무게만 다르다고 한다. 단, 무게가 가벼운지 무거운지는 모른다. 이때 최소의 횟수로 가짜 동전을 구분 할 수 있는 방법을 찾는 알고리즘을 구현하라. 출처) 길벗 - 알고리즘 퍼즐 문제풀이 동전의 무게가 가벼운지 무거운지 안다면 다음과 같이 반씩 나누면서 찾을 수 있을 것이다. n이 100이라면 50:50 으로 가짜 동전이 있는 쪽을 선택후 25:25 -> 12:12 -> 6:6 -> 3: 3->1:1 과 같이 나누면서 찾을 수 있다. n이 101이라도 동일한 횟수로 나눌 수 있다. 즉 101 -> 50:50 으로 나눌 수 있다. 여기서 1개는 50:5..

[초등 2학년 2학기] 그래프를 이용하여 문제 풀기

출처 : https://ko.khanacademy.org/math/kor-2nd-2/x755c696a3c09a536:2-2-5/x755c696a3c09a536:2-2-5-6/e/solving-problems-with-picture-graphs-1 ​ ​ 개념이해하기 조사한 자료를 그래프로 표현해 보고 그래프의 편리한 점을 이용하여 통계적 사실을 통하여 문제를 해결 할 수 있습니다. ​ 이름 먹은 사과 갯수 소피아 5 벤 2 로라 3 조 5 위와 같이 4명이 먹은 사과를 그래프로 표현해 보면 다음과 같습니다. 이 때 소파이는 로라 보다 사과를 몇개 더 먹었을 까요? 그래프로 확인하면 2개 차이가 나는 것을 쉽게 알 수 있습니다. 표에서 5 - 3 = 2의 원리를 쉽게 확인 할 수 있습니다. ​ 작품소개 소..

[알고리즘 수학] 늑대,염소,양배추 문제

문제 출처) 길벗 - 알고리즘 퍼즐 문제) 늑대 n마리, 염소 n마리, 양배추 n개, 사냥꾼 n명이 있다. 누구도 위험해 지지 않는 방법으로 이들을 한 줄로 세우는 방법을 찾아야 한다. 즉 사냥꾼 옆에 늑대가 있다면 사냥꾼은 늑대를 총으로 쏘아서 죽일 것이고 늑대 옆에 염소가 있다면 늑대는 염소를 잡아 먹을 것이고 염소 옆에 양배추가 있다면 양배추는 염소에게 먹힐 것이다. 또한 같은 종류 끼리는 서로 인접하지 않아야 한다. 즉 사냥꾼과 사냥꾼이 같이 있으면 안된다. 이 문제의 해를 구하는 알고리즘을 설계하시오. 문제 풀이) 먼저 n = 1인 경우 다음과 같이 생각 할 수 있다. 첫번째 : 늑대,염소,양배추,사냥꾼이 나오는 각각의 경우를 생각해 보자. 늑대-양배추-사냥꾼-염소 염소-사냥꾼-양배추-늑대 양배..

[파이썬] 파이게임 고양이/강아지 객체 여러마리 생성하기

2023.08.17 - [강의자료/텍스트기반SW] - [파이썬] 파이게임 객체 임의의 위치로 이동하기 이전 시간에 만든 프로젝트에서 강아지 객체를 새로 만들어 보고 임의의 위치에서 5마리 정도를 생성하여 임의의 위치로 이동하는 것을 살펴 봅니다. 객체를 만들기 위한 이미지는 파이게임 튜토리얼(https://github.com/formazione/pygame_tutorial)에 있는 이미지를 사용하겠습니다. Dog 객체생성 Dog 객체는 Cat 객체를 그대로 복사하여 이미지 읽어 오는 디렉토리만 변경 했습니다. class Dog(Animal): def __init__(self,location=(0, 0),imgsize=(50,50),walkSpeed=3,jumpSpeed = 5,runSpeed = 7,ch..

[초등 2학년 2학기] 시각과 시간

문제출처 : https://ko.khanacademy.org/math/kor-2nd-2/x755c696a3c09a536:2-2-4 4. 시각과 시간 | 초등 2학년 2학기 | 수학 | Khan Academy 긴바늘과 짧은바늘의 원리 이해를 바탕으로 시각을 ‘몇 시 몇 분ʼ까지 읽을 수 있고 주어진 시각을 모형 시계에 나타낼 수 있다. 1시간은 60분임을 알고 시간을 ‘시간’과 ‘분’으로 표현할 ko.khanacademy.org 개념이해하기 시각 : 시간의 한 순간으로 시계의 침이 가리키는 때 시간 : 어떤 시각 부터 다른 시각까지의 사이 (1분-60초,1시간-60분,하루-24시간,1년-12개월) 예) 현재 시각으로 부터 90분 전의 시각은 오전 8시 30분이었습니다. 현재 시각은 몇시 몇분입니까? 8시 ..

[파이썬] 클래스별 파일로 관리하기

https://wondangcom.tistory.com/2623 지난 시간에 살펴 본 main.py 파일에 클래스를 모두 넣어 놓다 보면 소스코드의 덩어리가 커지면서 실행되는 메인 위치도 찾기 어렵고 클래스가 어디서 부터 어디까지인지 살펴 보기가 어려워 집니다. 클래스별로 각각의 파일로 관리하여 좀 더 관리가 편리하도록 변경을 해 보겠습니다. 먼저 다음과 같이 animal.py 파일을 만들어 Animal 클래스만 별도로 빼서 생성을 합니다. - animal.py import pygame class Animal(pygame.sprite.Sprite): def __init__(self, location=(0, 0), imgsize=(100, 100), walkSpeed=1, jumpSpeed=2, runSp..

[알고리즘 수학] 물병 세개

물로 가득 찬 8L 짜리 물병 한개가 비어 있고 비어 있는 5L,3L 물병이 각각 하나씩 있다. 이 셋 중 어느 물통에든 정확히 물 4L를 담는 방법을 설명하라. 물은 이 세개의 물통을 이용할 수만 있으며 물을 옮겨 담을 때는 원래 물이 들어 있던 통이 완전히 비거나 물이 담기는 통이 가득 찰 때까지 옮겨 담아야 한다. [문제 출처] 길벗 - 알고리즘 퍼즐 [문제풀이] 이러한 유형의 문제는 정보올림피아드 예선 문제에서 자주 출제되던 유형의 문제이다. 풀이 방법은 다음과 같다. 8L짜리 물병에서 5L 에 가득 채우는 방법(8L/3L,5L/5L,3L/0L)와 3L에 가득 채우는 방법(8L/5L,5L/0L,3L/3L) 두가지 방법이 존재한다. 이 것을 다음과 같이 각각 또 분배를 할 수 있다. 8L/3L,5L..

[초등 2학년 2학기] 구구단 개념 이해하기

문제출처 : https://ko.khanacademy.org/math/kor-2nd-2/x755c696a3c09a536:2-2-2 2. 곱셈구구 | 초등 2학년 2학기 | 수학 | Khan Academy 곱셈에서 동수누가로 계산하는 방법의 불편함을 느끼고 곱셈구구의 필요성을 알며, 곱셈구구의 구성 원리를 이해하여 곱셈구구표를 만들어 외우고, 곱셈구구를 이용하여 여러 가지 실생활 문 ko.khanacademy.org 개념이해하기 별이 4개씩 7개 묶음이 있다. 별의 갯수는 모두 몇개일까요? 계산을 해 보면 4 + 4 + 4 + 4 + 4 + 4 + 4 = 28개가 되는 것을 알 수 있습니다. 여기서 4개짜리가 7묶음을 곱셈으로 4 x 7 로 표현 하며 4 x 7 = 28 이 됩니다. 구구단은 2개짜리가 1..