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

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

강의자료 342

2004년 정보올림피아드 전국대회 초등 2번 줄자접기 문제 풀이

오늘 우리 학생 중 한명이 줄자 접기 문제를 설명해 주었는데..설명에 이해가 안된것 같아서... 줄자접기 문제를 다시 한번 풀어 보겠습니다. 문제) 준성이는 1㎝ 간격으로 눈금이 매겨져 있는 줄자를 가지고 있다. 그 줄자에 있는 서로 다른 눈금 6개에 한 눈금에 하나씩 점이 찍혀 있는데, 빨간 점, 파란 점, 노란 점이 각각 두 개씩 있다. 준성이는 먼저 빨간 점이 만나도록 줄자를 접었다. 그런 후 두 파란 점이 만나도록 줄자를 접고, 또 다시 두 노란 점이 만나도록 줄자를 접었다. 줄자는 투명하여 접더라도 점들을 잘 볼 수 있다. 어떤 색깔의 두 점이 만나도록 줄자를 접었을 때, 그 다음에 접으려는 색깔의 두 점이 이미 만나고 있으면, 그 두 점에 대해서는 줄자를 접지 않는다. 예를 들어 길이 10㎝ ..

2018년 정보올림피아드 지역대회 초등부 17번 문제 풀이

다음 프로그램의 출력결과는 무엇인가? int x = 'A' + 128;x += 129;printf("%c\n", x); 정답은 B입니다. 저희 아이들 대부분 정답 없음을 선택했네요...ㅠ.ㅠ 실제로 아스키값은 0~255 까지 나오는 것을 알고 있어서..'A'의 아스키값이 65 이니까 x = 65 + 128 + 129 = 322 가 나와서 아스키값 범위를 넘어 가기 때문에 정답 없음을 선택 했는데요...ㅠ.ㅠ 위와 같은 코드는 시리얼 통신 프로그래밍에서 데이터가 깨졌는지 안깨졌는지 확인하기 위해 마지막 데이터에 체크썸을 두는데 이때 사용하는 체크썸을 구할 때 많이 사용하는 프로그래밍 기법이네요. 일반적으로 체크썸은 데이터 패킷을 모두 합 한 다음에 1바이트로 변환해서 체크썸을 두는 경우가 많거든요. 원리는..

2017년 지역대회 고등부 27번 문제 풀이

이제 지역대회가 몇일 남지 않았네요...그동안 지역대회를 준비한 학생들도 고생 많이 했구요... 지역대회를 위해 마지막까지 열심히 공부하고 있는 학생들에게도 응원의 메시지를 보냅니다. 오늘은 2017년 지역대회 고등부 27번 문제를 같이 풀어 보도록 하겠습니다. 이러한 프로그래밍 문제를 처음 접하게 되면 학생들은 자신의 코드가 아니다 보니 남의 코드를 보는 것을 대체로 싫어하는 경향이 있더라구요. 특히나 머리가 좋은 학생일 수록... 같은 문제를 자신의 스타일을 고집하다 보니 더더욱 다른 사람의 코드를 보는 것을 귀찮아 하는 경향이 두드러 지더라구요. 그러기는 해도 일단 지역대회를 통과해야만 전국대회에서 자신의 코드를 구현해 볼 수 있는 기회가 되다 보니...귀찮아도 남의 코드를 보는 습관을 기르는 것이..

순열,조합,중복 조합의 원리

오늘은 정보올림피아드 2017년 초등 39번 문제(http://wondangcom.tistory.com/73) 풀이 도중에 중복조합이라는 것을 이해하지 못하는 학생이 있어서... 중복 조합이 무엇인지 살펴 볼까 합니다. 중복 조합을 살펴 보기 이전에 먼저 순열의 개념을 알고 넘어가면 쉬울것 같아요... 순열이란 순서가 있는 조합을 이야기 합니다.예를 들어 1,2,3 이라는 세개의 숫자를 가지고 3자리 수를 만들수 있는 모든 조합의 갯수는 123 과 213 과 같이 순서가 있을때 서로 다른 값을 가지게 되므로 이것을 순서가 있는 조합, 즉 순열이라고 합니다. 이 순열을 구하는 계산 방식은 맨 첫자리에 3개가 올 수 있고 두번째는 첫번째에서 하나를 골랐기 때문에 하나를 뺀 2개 마지막은 3개에서 2개를 고른..

정보올림피아드 2017년 지역대회 고등부 7번문제 풀이

오늘은 2017년 고등부 지역대회 문제를 풀어 보겠습니다. 문제 A, B, C, D, E가 처음 만나서 몇 명이 서로악수를 했다. 이 때, 악수를 한 두 사람의 쌍(순서쌍아님)들의 집합을 X라 하자. 적어도 한 쌍이 악수를 했고, 누구도 같은 사람과는 2번 이상 악수를 하지 않았다면 X가 될 수 있는 집합은 모두 몇 개인가? 2017년 초등부 문제에는 A,B,C 세명이 만나서 악수를 하는 문제가 출제 되었는데요...이러한 문제는 집합의 멱집합 갯수를 파악하면 해결 되는 문제 입니다. 멱집합이란 어떤 집합의 모든 부분집합의 집합을 의미 하는데요... 가령 집합의 원소가 다음과 같이 {1,2,3} 와 같이 3개의 원소로 구성 되었다면.멱집합은{}(공집합),{1},{2},{3},{1,2},{1,3},{2,3}..

정보올림피아드 2017년 고등부 5번 문제

이제 정보올림피아드 지역예선이 한달 밖에 남지 않았네요.^^ 평창 올림픽 대회 만큼이나 정보 분야에서는 정보올림피아드가 학생들의 사고력을 겨루는 대회로는 가장 큰 대회인 만큼 정보올림피아드 준비하는 학생들이 모두 마지막 남은 기간 열심히 준비해서 좋은 결과가 나와 주길 진심으로 바랍니다. 오늘은 2017년 고등부 5번 문제 풀이를 해 보겠습니다. A, B, C 세 명이 계단 오르기를 한다. A는 한 걸음에 계단을 1칸 또는 3칸씩 오를 수 있고, B는 한 걸음에 계단을 1칸 또는 4칸씩 오를 수 있고, C는 한 걸음에 계단을 1칸 또는 5칸씩 오를 수 있다고 한 다. 세 명은 모두 가능한 최소의 걸음으로 계단을 오 른다. 공교롭게도 세 명 모두 같은 횟수의 걸음으로 계단의 가장 위에 도달했다고 한다. 이..

정보올림피아드 2017년 고등부 3번 문제 풀이

2017년 부터는 중등부/고등부 지역 예선이 분리 되었네요... 분리되면서 고등부 문제 중에 이 문제를 제 시간 안에 풀으라는 것인지 갸우뚱 하는 문제도 몇문제가 출제 되었네요.... 아무래도 고등부 문제에서 100점 만점을 주지는 않겠다는 의도로 보여지는 몇 문제들이 출제 되는 경향이 있었습니다. 오늘은 차근차근 접근하는 의미로 앞부분 문제의 3번 문제를 풀이해 보도록 하겠습니다. 고등부 3번 문제 지구에서 달까지의 거리는 384,400km이다. 여러분에게 폭이 1cm이면서 길이가 충분히 길면서 두 께는 0.1mm로 얇은 종이 띠가 주어졌다. 이 종이 띠를 반으로 접으면 접힌 부분의 두께가 두 배로 늘어난다. 최소 몇 번 이상을 접어야 접힌 부분의 두께가 지구에 서 달까지의 거리만큼 두꺼워질 수 있을까..

세줄로 타일깔기

저희 원에 다니는 학생이 여기서 다음과 같은 문제를 풀었는데...수학학원에서 똑같은 문제를 풀었다면서 문제 푼 방식을 공유해 주어서 올려 봅니다.^^ 문제 바닥이 가로 30칸, 세로 3칸으로 이루어졌을 때, 가로 1칸, 세로 2칸(회전 가능하다)의 타일을 이용해 타일을 까는 경우의 수를 계산하자. 우리 원에서 푼 방식 이런 방식으로 공식을 추출하면 다음과 같은 로직이 나오네요. dt[0]=1;dt[2]=3;for(i=4;i=0;j-=2) dt[i] += dt[j] * 2;} 이런 방식으로 프로그래밍 코딩을 하면 이 규칙만으로도 충분히 구할 수가 있거든요... 그런데 수학시간에 이 문제를 n=30 인 경우를 구하는 문제가 나왔나 보네요.^^ 이렇게 손으로 계산하다가는 계산 할 수가 없더라구요. 수학시간에 ..

학생이 파이썬으로 만든 지뢰찾기 게임을 분석해 봅니다.

13차시 수업중 마지막 차시에 그동안 배운 파이썬으로 프로그램을 만드는 시간을 가져 보았습니다. 학생이 만든 지뢰찾기 게임이네요. 동작상태는 거의 윈도우에서 보았던 지뢰찾기와 거의 똑같이 오른쪽 버튼 클릭시 X 표시로 깃발을 세우고 오른쪽 버튼 클릭시 버튼 주변의 지뢰 갯수를 보여주는 형식을 취했습니다. 다음은 학생이 만든 소스코드입니다. 소스보기 #지뢰 게임 만들기from tkinter import * from tkinter import ttk from tkinter import messagebox from random import randint from random import * N = 20 #게임판의 갯수를 20*20 의 크기로 만든다. bomb = 40 # 지뢰 갯수를 40개로 만든다. cnt ..

SW사고력 올림피아드 중등부 대상 답안 예시를 바라보며...

전자신문사에서 주최한 SW사고력 올림피아드 수상자 발표 및 대상자의 답안 예시가 나왔네요.^^ 원문보기 : http://ciobiz.etnews.com/news/article.html?id=20180116120011 4번문제를 보니 다음과 같은 문제가 출제 되었었나 보네요. 이 판을 이용한 새로운 방식의 게임을 개발하라는 내용의 문제였습니다. 저는 아무리 생각해도 바둑과 오목 밖에는 생각나지 않네요...^^ 이미 고정 관념에 사로 잡힌 산출물일것입니다. 하지만 대상을 받은 윤성주학생의 답안을 보니 새로운 게임도 무척이나 재미있고 흥미 있을것 같네요. 답안은 원문에서 확인해 보시면 좋을것 같구요. 이 학생은 게임의 룰을 일목요연하게 정리해 놓았습니다.-기본용어설명-행동하는 방법-사망규칙-특별규칙-특별한 경..