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

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

강의자료 343

2018년 정보올림피아드 전국대회 초등부 1번 행복 문제 분석

문제분석)이 문제는 모든 데이터를 찾아 가면서 가장 작은 값과 가장 큰 값을 찾아서 그 차이를 빼주면 됩니다. 일반적으로 가장 작은 값을 찾기 위해서는 min의 초기값은 가장 큰값보다 더 큰 수로 초기화 해 주어야 합니다. 여기서 학생들의 점수는 0~1000 사이라고 했으니 min 값을 1000 이상의 값으로 초기 화 한 후에하나하나 비교 하면서 min 보다 작은 값이 들어 오면 min 값을 갱신하는 형태로 처리하면 됩니다.max 값의 초기값은 가장 작은 값보다 더 작은 0 이하의 값으로 초기화 하면 됩니다.그리고 하나하나 비교하면서 max보다 큰 값이 나오면 max 값을 갱신하면 됩니다. 예제 소스는 네이버 블로그에 올렸습니다.하지만 예제 소스를 먼저 확인 하지는 마시고 먼저 충분히 고민한 후에 직접 ..

기하 알고리즘이란

오늘은 기하알고리즘이 무엇인지 정리를 해 보았습니다.알고리즘에서 사용하는 기하학은수학에서 사용하는 기하학과는 약간 다르게 접근해야 하는 부분도 있습니다. 먼저 수학에서 기울기를 구할때 (y2-y1) / (x2-x1) 과 같이 구하는 경우알고리즘에 이러한 공식으로 대입할때에는 (x2-x1) 이 0 이 되는지 등을 판별하고 이때에 다른 처리를 해 주어야 하는등...알고리즘 자체가 많이 복잡해 집니다.또한 0.3 과 같은 경우 수식으로 표현이 간단하지만...프로그램으로 처리 할때에는 이진법 사용으로 0.29999999.... 와 같은 값으로 밖에는 표현을 하지 못합니다. 이러한 처리 방법에 대한 다른 부분에 의해서 기하 알고리즘이 수학적인 기하와는 약간은 다른 방향에서 바라보는 것이 기하알고리즘의 원리입니다...

2015년 정보올림피아드 지역예선 중고등부 5번

이런 문제는 수학 퍼즐의 일종으로 숫자가 복면을 쓰고 있는것 같다고 해서 복면산이라고도 부릅니다.복면산 연산의 규칙은 특별한 것은 없고 단순히 같은 문자에는 같은 숫자가 들어가야 한다는 규칙과 서로 다른 문자는 서로 다른 숫자가 들어가야 한다는 규칙 밖에는 없습니다.복면산 문제는 2년에 한번씩은 나올 정도로 단골 문제 이면서 쉬운듯 해 보이지만 생각보다 시간이 아주 많이 걸리는 문제들이 많기 때문에...우리 학생들에게는 이러한 문제는 가장 마지막에 하나하나 대입해 보라고 설명해 주고는 합니다. 2015년 정보올림피아드 지역대회 중고등부 5번 문제를 풀어 보도록 하겠습니다.이 문제에서 E는 1이 될수 없습니다. (E 가 1이 되면 계산 값이 DCBA 가 아닌 마지막 A자리에 D가 될것입니다.)또한 E*A ..

2018년 정보올림피아드 고등부 3번 유산관련문제풀이

지성 A 지성 아내 B 희열 C 희열아내 D 동욱 E 동욱 아내 F 라고 하면 다음과 같은 식으로 만들어 볼 수가 있을것 같네요. A = B , C = D * 1.5 , E = F * 2A + B + C + D + E + F = 100000따라서 B + B + D * 1.5 + D + F * 2 + F = 100000B * 2 + D * 2.5 + F * 3 = 100000정희 X 가희 Y 미진 Z 라고 하면 X = Y + 1000, Z= X + 1000 따라서 Z = Y + 2000X + Y + Z = Y+1000 + Y + Y+2000= 39600, 3*Y = 36600, Y= 12200 따라서 가희 Y = 122001번 미진 정희 가희 인 경우(Y+2000) * 2 + ( Y+1000) * 2.5 ..

2018년 정보올림피아드 지역예선 중등부 6~7번 고등부 1~2번 트리관련 문제 풀이

위의 문제는 단순히 계산을 해보면 되는 문제 입니다. 1번문제풀이)총합을 최소로 하고자 한다면 다음과 같은 형태로 계산을 해 볼수가 있겠네요.어차피 가운데로 몰릴 수 밖에 없으므로..A -> B : 4J -> I : 1I -> H : 1 + 1 * 2 = 3 (J가 I 에 온 시간 1시간 + I 와 J가 H 로 이동하는 시간 1시간)H -> E : 3 + 1 * 3 = 6 (J와 I가 H에 온시간 3시간 + I,J,H가 E로 이동하는 시간 3시간)G -> E : 1F -> E : 1따라서 E까지 오는 하위 시장들의 모든 시간은 8 시간B -> C : 4 + 1 * 2 = 6C -> D : 6 + 1 * 3 = 9 D -> E : 9 + 1 * 4 = 13E -> D : 8 + 1 * 6 = 14 따라서 ..

정보올림피아드 문제 풀이 리스트 정리

문제풀이는 https://blog.naver.com/icon003 에 계속 연재 하고 있습니다.정보올림피아드 문제풀이 리스트를 보기 원하시는 분은 https://blog.naver.com/icon003 블로그를 이용부탁 드립니다. 2018년 정보올림피아드 전국대회 고등부 2번 화살표 문제 풀이 2018년 정보올림피아드 전국대회 중등부 1번 두박스 문제 풀이 2018년 정보올림피아드 전국대회 초등부 2번 화살표 문제 풀이 2018년 정보올림피아드 전국대회 초등부 1번 행복 문제 풀이 2018년 정보올림피아드 지역대회 고등부 50번 문제풀이2018년 정보올림피아드 지역대회 고등부 48번 문제풀이2018년 정보올림피아드 지역대회 고등부 47번 문제풀이2018년 정보올림피아드 지역대회 고등부 46번 문제풀이20..

2018년 정보올림피아드 지역예선 중등부 15번 카탈란수 관련 문제 풀이

정답이 56이 나오는 문제였는데 지문에 정답이 없어서 이슈가 되었던 문제입니다.올바른 괄호짝이 아닌 문자열이 모두 몇개인지 확인하려면 모든 경우의 수에서 올바른 괄호짝을 찾아서 그 경우를 빼 주면 되는 문제네요. 4개의 짝으로 만들 수 있는 경우- 즉 8개의 (,) 를 가지고 만들수 있는 모든 경우의 수는 8개의 괄호를 순서대로 나열 할 수 있는 모든 경우 8! 에서 ( 가 동일한 모양 4개 ) 가 동일한 모양 4개 이므로 4! * 4! 로 나눈 수가 전체의 경우의 수입니다.따라서 나올수 있는 모든 경우의 수는 8!/(4!*4!)= 70 가지가 됩니다. 이제 올바른 괄호 짝을 구하는 방법을 찾아 보겠습니다. 이러한 규칙을 찾는 수열 중에 카탈란 수라고 불리우는 수열이 있습니다.핀란드 수학자 카탈란의 이름..

다항식의 곱셈공식을 활용한 문제 풀이

정보올림피아드 이산수학 문제 유형은 대부분 다음과 같이 규칙을 찾아서 프로그래밍이 가능한 유형의 문제들이 출제되고 있는데요. 8 × 12 × 104 × 10016 위의 문제와 유사하게 나온다면... 이 문제에서 어떤 규칙을 찾는것이 쉽지 않아 보이는데요. 잘 찾아 보면 다음과 같이 공차를 이용한 규칙을 찾을 수가 있습니다.(10-2)(10+2)(100+4)(10000+16) 이렇게 규칙을 찾았다면다항식의 곱셈공식 중에 다음과 같은 공식이 있는데요.이 공식을 이용해서 확인해 보면 a=10,b=2 를 놓고 대입을 해보면 다음과 같이 변경이 가능합니다.이렇게 놓고 계산하니 다음과 같이 풀어 나가면 될것 같네요. 이므로 이 되고결국은 이 되므로 100000000 - 64 = 99999936과 같이 간단하게 계산..

코드블럭에서 can't find compiler executable in your search path (GNU GCC compiler) 에러 발생시

저희 학생이 집에서 코드블럭 설치 후에 프로그램을 설치 했는데 다음과 같은 오류창이 뜨면서 실행이 안된다고 해서 오늘은 이 에러에 대해 대처 하는 방법에 대해 알아 보도록 하겠습니다. 일단 저희가 설치하는 코드블럭은 다음의 사이트에서 다운로드 받아 설치 합니다.코드블럭 다운로드 사이트 - http://www.codeblocks.org/ 사이트 접속하면 왼쪽에 Downloads-Binarise 라고 보이면 그곳을 선택하고요. 오른쪽 화면에 Windows 쪽에 보면 codebolocks-xx.xxmingw-setup.exe 위치의 download from 에서 Sourceforge.net 을 클릭하여 해당 설치 파일을 다운로드 받아 설치 하면 되는데요. 간혹 아래와 같이 설치는 되었는데 에러 코드를 만나는 ..