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

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

강의자료/정보영재 95

도전하세요. 생각하며 만드는 프로그래밍 트레이닝 소개

원본 파일 : http://www.cberi.go.kr/home/sub.do?menukey=252&mode=view&no=1000618272 충청북도교육연구정보원 - 정보올림피아드 자료실 상세보기 정보시스템 고도화 고품질 서비스 제공 www.cberi.go.kr 충청북도 교육연구 정보원에서는 충북 학생 정보올림피아드(COI)를 준비하는 학생 및 지도 선생님을 위한 도전하세요 생각하며 만드는 프로그래밍 이라는 책자를 배포하고 있네요. 충청 북도에서는 학생 정보올림피아드를 자체적인 대회를 열고 있습니다. 대회 내용은 추진내용 및 일정 분야 : 수학적 지식 및 논리적 사고능력을 필요로 하는 알고리즘과 그 구현을 경시 학교대회 : 교내대회로 3~5월 중 실기평가 실시 안내 (학교자체계획에 의거하여 시기 및 평가..

2019년 정보올림피아드 지역대회 후기

이번에 전국에서 3600명 가량이 응시해서 전년도 7000명 보다는 조금 낮은 응시율을 보였지만 그래도 제가 처음 생각할때 너무 적은 인원이 응시할까봐서 걱정한거에 비하면 정말 많은 인원이 응시를 한것으로 미루어 요즘에 정보올림피아드 라는 대회가 많이 알려진것은 아닐까 라는 생각을 해 보게 되었습니다. 특히나 초등부의 수상 커트라인에 깜짝 놀랐습니다. 사실 저는 초등부의 커트라인을 이렇게 높게 나올거라고는 생각을 못했고 오히려 중등부에서 조금 낮은 감이 있었네요. 초등부는 일반적으로 6개월에서 1년정도 준비하면 오래 준비한 학생으로 알고 있었던 터라서... 초등부에서 2번 만점을 모두 맞기는 어려울것으로 판단 했거든요. 그런데 초등부의 점수가 높았던 이유를 분석해 보면 대체로 실기 문제 1번은 100점을..

2개의 계란

구글,아마존,MS 등의 기업 문제에서 나왔다고 하는데요... 문제가 재미있어서 풀어 보게 되었습니다. 문제풀이) 계란이 여러개 있다면 이진탐색으로 해법을 찾아 나가면 아주 간단한 문제였습니다. 만약 100층 건물이라고 한다면 50층 25층 13층 7층 4층 2층 1층 절반씩으로 나누어서 깨지면 절반 아래로 안 깨지면 절반 위로 올라가면서 떨어뜨려 보면 7번 만에 어디서 깨지는 지를 찾을 수 있는 문제였습니다. 그런데 예제 데이터를 보니 10 -> 4, 100->14 문제를 자세히 살펴 보니 2개의 계란이라는 조건이 붙어 있습니다. 만약 50층에서 떨어뜨렸을때 깨진다면 남은 한개를 가지고 1층 부터 49층까지 올라가면서 떨어 뜨려 보면 최악으로 50번이 나오는 것을 확인 할 수 있었습니다. 그래서 다시 한..

KOI (정보올림피아드) 가상머신에서 코드블럭 컴파일 오류가 발생하는 현상에 대한 해결 방법입니다.

koi-2019-v1.1.ova 한국정보올림피아드 응시환경이 올라와서 실제 환경에서 구동을 해 보게 되었습니다.(아이디 contestant/ 비번 koi) 위의 자료를 다운로드 받아서 버추얼 박스 환경에서 실행을 한 후에 코드블럭으로 실행을 해 보았습니다. 코드블럭을 실행 후 위와 같이 바탕화면에 test라는 프로젝트를 생성했습니다. 그랬더니 역시나 아래 로그화면과 같이 error : obj/Debug/main.o : 그런 파일이나 디렉터리가 없습니다. error : no input files 라는 에러가 발생하네요. 이러한 부분은 윈도우즈에서는 발생하지 않는데요. 리눅스에서 권한 부분때문에 나타나는 현상입니다. 컴파일을 하게 되면 exe 파일이 만들어 지기 전 object 파일이 먼저 생기게 되는데요...

2016년 서울대학교 프로그래밍 경시대회 A번 문제 풀이

2016년 서울대학교 프로그래밍 경시대회 A번에 다음과 같은 문제가 나왔네요. 이 문제를 이해하는데 조금 시간이 걸렸는데요. 예제 입력에서 통닭 한마리 값이 10000원이고 두영이와 상언이가 50000원을 가지고 있는데 상언이가 몇마리를 더 먹을 수 있을까 묻는 문제인데요. 일단 이 문제에서는 두영이와 상언이는 치킨을 시킬때 마다 쿠폰을 받고 단골 손님인 상언이는 쿠폰을 가지고 시켰을 경우에도 쿠폰을 받는다 였는데 실수로 돈내고 시킬때도 상언이만 쿠폰을 받는 것으로 착각을 했던 문제네요.^^ 이만큼 문제를 읽는데 실수를 하면 많은 시간을 헤메이게 되는데요. (알고리즘 문제는 실생활속의 상황을 녹이기는 하지만 실생활과는 약간 다르기 때문에 문제를 정확히 이해하는게 새삼 중요하다는것을 느꼈네요.) 따라서 5..

알고리즘 대회 문제 풀이 시 문자열 입력 할때 gets 보다 fgets를 권장합니다.

C언어로 문자열 입력을 받을때 일반적으로 다음의 명령을 사용하게 됩니다. char str[101]; scanf("%s",str); 이렇게 scanf 로 입력을 받게 되면 "Hello World" 와 같이 스페이스가 있는 문자열은 "Hello" 만을 입력 받게 됩니다. 따라서 scanf 입력시에는 문자열 중에서 단어별로 입력을 받을때 자주 사용하게 됩니다. 하지만 알고리즘상 스페이스를 같이 입력 받아야 할때가 있습니다. 위와 같이 "Hello World" 를 입력 받아서 2개의 단어로 처리 해야 하는지 또는 단어를 분리해야 하는 경우등이 있을수 있는데... 이때는 일반적으로 gets(str) 과 같이 gets 함수를 사용하게 됩니다. 그런데 이 gets() 함수가 치명적인 결함을 가지고 있는데 어떤 문제인..

정보올림피아드 시험환경을 확인 하여 주세요.

정보올림피아드 시험환경은 온라인으로 PC를 이용하여 시험을 치루게 됩니다. 1교시에는 유형1(비버챌린지 유형) 유형2(기존 이산수학) 문제를 풀게 됩니다. PC 환경은 웹브라우저를 이용해서 문제를 풀이 하게 됩니다. 이때 PC에 설치 되어 있는 계산기를 사용해도 되는지 문의를 해 본 결과 PC에 설치 되어 있는 계산기를 이용하다 적발시 부정행위로 간주 된다고 합니다. 따라서 1교시에 유형1 유형2 의 문제를 풀이 할때는 연습장을 이용하여 문제를 풀이 할 수 있도록 하시기 바랍니다. 하지만 2교시 실기문제를 풀 때에는 PC에 설치 되어 있는 계산기를 이용하여 먼저 알고리즘을 생각 한 후 계산기를 이용하여 이 알고리즘이 맞는지를 생각해 볼 수 있습니다. 2교시에는 PC에 설치되어 있는 계산기를 이용하는 것이..

초등학생 학부모님의 질문에 대한 답변을 올려 봅니다.

어느 학부모님이 물어 보신것을 질답 형태로 답변을 드려 봅니다. 1. 초등학생이 정보올림피아드 시험을 보면 무엇이 좋은가요? - 일단 학생이 정보올림피아드 출전을 하면서 준비한 만큼 그 학생의 정보에 대한 자신감이 쑥쑥 커져 있습니다.(정보올림피아드 수상을 했든 하지 않았든 학교에서는 자기보다 정보쪽에 더 잘 하는 학생이 별로 없습니다. 그만큼 정보 올림피아드 문제들이 쉽지 않습니다.^^) 2. 초등학생때 정보올림피아드 수상하면 영재고나 과고 입학할때 유리 할까요? - 아니라고 말씀드리고 싶네요. 초등학생때 정보올림피아드 수상 실적이 고등학교 입학과는 별개입니다. 중학교에서 정보올림피아드 수상 실적은 고등학교 입학시 수상내역은 기록하지 못해도 자기소개서 등에 녹여서 이야기는 할 수 있어도 초등학교때 받은..

비버챌린지 2014 아이스크림

LIFO 아이스크림 가게에서는 아이스크림을 당신이 요청한 정확한 순서대로 콘에 쌓아 놓았습니다. 위에 놓인 순서대로 놓인 아이스크림을 주문한 순서는 어떻게 됩니까? ... Chocolate, Smurf and Strawberry! ... Strawberry, Smurf and Chocolate! ... Chocolate, Strawberry and Smurf! ... Strawberry, Chocolate and Smurf! 정답) 아래 드래그 해서 보세요. ... Strawberry, Smurf and Chocolate! 이 문제는 컴퓨팅 과학을 처음 접하는 학생들에게 일련의 순서에 따른 결과값을 보여주는 훈련을 하는 문제 입니다. 위와 같은 일련의 작업들은 일상생활에서 아무렇지도 않게 일어나는 일들이..

프로그래밍 을 잘 하기 위한 팁

정보올림피아드 본선에 진출 하기 위해서는 이제는 수학 문제 뿐만 아니라 어느 정도의 프로그래밍 실력도 필요하게 되었습니다. 실제로 몇년전만 해도 정보올림피아드 본선대회에 진출하기 위해서는 지역대회 예선에서 필기문제 통과후 지역대회 본선에서는 프로그래밍 문제를 통과 해야만 전국 본선에 진출 했던 적이 있었습니다. 이렇게 예선과 본선으로 나누어지지는 않지만, 올해 부터는 지역예선에서 필기문제(수학)와 프로그래밍 구현능력(50~60%)이 부활되었습니다. 그래서 오늘은 프로그래밍을 잘 하기 위한 팁을 살펴 보도록 하겠습니다. 1. 주석을 먼저 작성하자. - 실제로 프로그래밍을 구현할때 설계가 가장 중요합니다. 이러한 설계 내용을 먼저 주석으로 어떤 흐름으로 작성할 것인지 주석 처리를 해 놓는다면 구현할때 그 시..