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

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

정보올림피아드 문제풀이 22

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

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

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 따라서 ..

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

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

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년 지역대회 고등부 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로 얇은 종이 띠가 주어졌다. 이 종이 띠를 반으로 접으면 접힌 부분의 두께가 두 배로 늘어난다. 최소 몇 번 이상을 접어야 접힌 부분의 두께가 지구에 서 달까지의 거리만큼 두꺼워질 수 있을까..