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

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

강의자료 346

[C#] ListBox,ListView 사용법

목표 - ListBox, ListView 사용법을 배워보자. 컴포넌트 설명 - ListBox : 목록과 같은 리스트를 추가/삭제 - ListView : 엑셀과 같이 데이터를 표현하기 위해서 사용하는 컴포넌트이다. 1. ListBox 사용 폼구성 1. listBox 를 폼에 추가한다. 2. TextBox,Button 2개를 올려서 위와 같이 폼을 구성 소스코드 구현 - 추가하기 버튼 클릭 이벤트 private void button1_Click(object sender, EventArgs e) { if(this.textBox1.Text != "") { this.listBox1.Items.Add(this.textBox1.Text); this.textBox1.Text = ""; } } - 삭제하기 버튼클릭 이벤..

강의자료/C# 2020.12.08

[C#] 타이머를 이용해서 시계를 만들어 보자

목표 - 프로젝트 생성법을 배워보자. - 이벤트의 동작을 알아 보자 - 타이머 컴포넌트 사용법을 알아보자. 컴포넌트 설명 - timer : 타이머는 일정한 주기로 어떤 작업을 수행해야 할때 사용한다. 폼만들기 1. Windos Forms 앱(NET Framework) 선택 하여 프로젝트 생성 2. 폼에 버튼 추가 및 라벨 추가 소스코드 구현 1. 타이머 시작 버튼 클릭 이벤트 timer1.enabed = true 2. timer1_Tick 이벤트 : 타이머 주기가 되면 실행되는 이벤트 lbl_Timer.Text = System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); 3. 전체 소스 using System; using System.Collections.Generi..

강의자료/C# 2020.12.08

[자료구조] 우선순위큐(Priority Queue)

우선순위큐(Priority Queue) 란? 우선순위를 가진 항목들을 저장하는 큐 FIFO 순서가 아니라 우선순위가 높은 데이터가 먼저 나가게 된다. 응용분야 - 시뮬레이션 시스템 - 네트워크 트래픽 제어 - 운영체제에서의 작업 스케줄링 우선순위큐 STL 기본 형태 priority_queue : 원하는 자료형 및 클래스 T를 통해 생성, 여기서 Container는 Vector와 같은 컨테이너 이며 Compare 는 비교 함수 클래스(단,Compare 조건에서 참인 것이 후 순위로 밀린다.) 우선순위큐 함수 push(element) : 우선순위 큐에 추가 pop() : 원소 삭제 top() : top에 있는 원소를 반환 empty() : 비어있으면 true 아니면 false size() : 우선 순위 큐에..

[자료구조]링크드 리스트(Linked List)

선형리스트 - 배열에서 원소 삽입 방법을 살펴 보자. 질문) 위와 같은 경우 배열의 데이터가 1억개 인경우 0 번지에 데이터를 삽입 하기 위해서 몇번 연산을 해야 할까? - 배열에서 원소 삭제 방법을 살펴 보자. 질문) 위와 같은 경우 배열의 데이터가 1억개 인경우 0 번지에 데이터를 삭제 하기 위해서 몇번 연산을 해야 할까? 순차 자료구조의 문제점 - 삽입 연산이나 삭제 연산 후에 연속적인 물리 주소를 유지하기 위해서 원소들을 이동시키는 추가 작업과 시간 소요 - 원소들의 이동 작업으로 인한 오버헤드로 원소의 개수가 많고 삽입・삭제 연산이 많이 발생하는 경우에 성능상의 문제 발생 - 순차 자료구조는 배열을 이용해 구현하기 때문에 배열이 갖고 있는 메모리 사용의 비효율성 문제를 그대로 가짐 - 순차 자료..

[알고리즘]알고리즘 수행시간을 비교해 볼까?

알고리즘이란? - 입력 : 외부에서 제공되는 자료가 0개 이상 제공된다. - 출력 : 적어도 2개 이상의 서로 다른 결과를 내어야 한다.( 즉 모든 입력에서 하나의 출력이 나오면 안됨) - 명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성 - 유한성 : 유한번의 명령을 수행 후 종료된다. - 효율성 : 모든 과정은 명백하게 실행가능(검증가능) 한것이어야 한다. 좋은 알고리즘이란? - 정확성 : 적당한 입력에 대해서 유한 시간내에 답을 산출하는가? 를 판단. - 작업량 : 전체 알고리즘에서 수행되는 가장 중요한 연산들만으로 작업량을 측정 - 기억장소 사용량 : 수행 과정에서 필요한 저장공간 - 최적성 : 그 알고리즘보다 더 적은 연산을 수행하는 알고리즘은 없는가? (단, 최적이란 가장 '잘 알려..

[컴퓨팅 사고력]카드 마술에서 배우는 이진법

위의 A B C D 4개의 카드가 있습니다. 여러분은 1 ~ 15 까지의 숫자를 생각한 다음 ABCD 의 카드 중에서 자신이 생각한 숫자가 있는 카드를 답하세요. 예를 들어 12를 생각 했다고 하면 AB 와 같이 말해 주시면 됩니다. 만약 여러분이 ABD를 선택 하셨다면 여러분은 13을 생각하셨을 것입니다. 혹은 AB를 선택하셨다면 12를 생각하셨을 것입니다. 위의 게임은 상대방이 생각한 숫자를 맞추는 카드마술인데요. 이 게임에는 컴퓨터 과학에서 가장 필요로 하는 이진법의 원리가 숨어 있습니다. 이진법에는 0과 1 두개의 숫자만을 이용하는 수 체계입니다. 컴퓨터과학에서 왜 이진법이 중요할까요? 왜냐하면 컴퓨터는 전기 신호를 가지고 동작을 할 수 있는 기계이기 때문입니다. 전압이 높으면 1, 전압이 없으면..

[초등 사고력 풀이]복면산 문제 풀이

오늘은 우리 원의 학생이 다음의 문제를 가져 왔네요.^^ (문제는 올림피아드 초등수학 바이블에 나온 문제입니다.) 이 두개의 식을 만족하는 A와 B를 찾는 문제였는데 모든 수를 다 알수가 없다 보니 막막할 수밖에 없네요. 일단 이 식에서 먼저 찾은 수는 다음의 수 입니다. 여기서 10xx 와 아래 9 가 될 수 밖에 없는 이유는 (1) 위치가 1x 인경우만 바로 아래 한자리 숫자를 뺄때 한자리가 되는 경우이기 때문입니다. 따라서 1이 되는 수는 맨 위에 10 에서 9를 빼는 것 외에는 방법이 없습니다. 그러면 A * x 가 9 가 되는 경우는 다음과 같은 경우가 있을 수 있습니다. (A,x) = (1,9),(3,3)(9,1) 이 3가지 경우를 제외하고는 없는데요 여기서 A는 1일수가 없습니다. (2)의 ..

비버챌린지 비버스쿨 안내 드립니다.

귀여운 비버가 반겨 주고 있는 비버스쿨 한번 보시겠어요? 먼저 비버초등학교에 가보실께요~~ 재미있는 문제들을 풀어 보고 해설도 보실 수가 있습니다. 여기서 먼저 해설을 보시는 것 보다는 위에 "여기를 먼저 클릭해서 초등학교 문제를 풀어 볼까요" 를 클릭해서 문제를 먼저 풀어 보신 후에 해설을 들으시면 훨씬 더 많은 깨달음을 얻을 수 있을것 같아요. 그럼 문제를 풀러 가 볼까요? 해당 문제를 풀기위해 클릭하면 응시코드를 하나 부여 해 주고 체험하러 가기 버튼을 클릭하시면 비버챌린지 초등학교 문제를 풀어 보실 수가 있습니다. 이렇게 다양한 문제가 있는데 해당 문제를 클릭해서 문제를 풀어 보실 수가 있습니다. 이렇게 문제를 풀면서 많은 생각을 해 보게 되는데요. 이러한 문제들에는 어떤 원리가 숨어 있는지 동영..

대회에서 문제풀이 팁

정보 올림피아드와 같은 알고리즘 경시 대회에서 다음과 같은 사항을 유의하면 좋을것 같아 팁을 올려 봅니다. 1. 문제를 주의 깊게 읽어 보자 - 일반적으로 경시대회 문제를 살펴 보면 역사적인 내용이나 다른 배경 지식과 같은 내용을 많이 늘어 놓기 때문에 문제에서 프로그램으로 추론 하기 위해서는 문제를 정확히 이해해야만 합니다. 2. 함부로 문제의 요지를 단정짓지 말자 - 문제를 주의 깊게 읽어 보는 내용과 일맥 상통한 문맥이기는 하지만 문제에서 주어진 내용을 정확히 이해하는 것은 경시대회에서 매우 중요한 일입니다. 문제에서 테스트 데이터 몇가지 만으로 이 문제에서 요구하는 사항을 모두 이해 했다고 단정 짓는 것은 무척이나 위험한 일입니다. 테스트 데이터는 전체 문장의 극히 일부분의 경우만을 제시하는 것이..