Programming Challenge!

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 CGI 프로그램 작성법 발표자 : 박승기 ( 수 )
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
조사자 : 이준호 담당선생님 : 박문열 선생님. 1. 선정동기 2. 작도란 ? 3. 작도의 규칙과 기본작도 4. 정삼각형과 정사각형의 작도 5. 정오각형의 작도 6. 정오각형 작도 그리기 순서 7. 3 대 작도 불능 문제 8. 결론 9. 느낀점 10. 자료 출처.
OZ 의 이미지 구축을 위한 광고 커뮤니케이션 12 기 프로공감 류지현. CONTENTS 문제 찾기 -OZ 분석 - 목표설정 - 타겟설정 해결 방안 ( 전략 ) -OZ 만의 컨셉을 찾자 ! -OZ 의 Brand Concept 더욱 구체적인 해결방안 ( 전술 )
2.6 탐색(Search) 1. 순차검색 (Sequential Search, Linear Search)
작도에 대하여 조사자 : 이준호 담당선생님 : 박문열 선생님.
ʹ 수학 ʹ 6학년 가 단계 ʹ 7. 비례식>3/7 비의 성질 이용하기 수업 계획 수업 활동.
방중 학습소모임 PRESENTATION 팀장: 안지현.
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
이산수학 (2012년 2학기) : 강의 소개 담당교수: 류승택 (60주년 기념관: 18407)
신호처리 실험 (Signal Processing Lab)
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
WJ543 인공지능 2003년도 제 2학기.
Open Graphics Library 팀 명 : Spes 송정웅 김정환
CHAP 2:순환 순천향대학교 컴퓨터공학과.
Chapter 02 순환 (Recursion).
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
컴퓨터과학 전공탐색 배상원.
버스카드 시스템 1조 하경록 : 작품 제작, 파워포인트 김태승 : 작품 제작, 파워포인트 최성호 : 작품 제작, 프로그래밍
6장. printf와 scanf 함수에 대한 고찰
602 LAB FDTD 를 이용한 Acoustic Simulation 지도: 이형원 교수님 차진형.
쉽게 배우는 알고리즘 6장. 해시 테이블Hash Table
Ⅲ. 이 차 방 정 식 1. 이차방정식과 그 풀이 2. 근 의 공 식.
자바 5.0 프로그래밍.
프로그래밍 개요
자바응용.
피임이란?.
소마큐브로 3*3*3(정육면체)만드는 방법 탐구하기
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
Can Automatic Calculating Machine Be Said To Think?
CHAP 2:순환.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
MCL을 이용한 이동로봇 위치추정의 구현 ( Mobile robot localization using monte carlo localization ) 한양대학교 전자전기전공 이용학.
Metal Forming CAE Lab., Gyeongsang National University
예수께서 이르시되 오히려 하나님의 말씀을 듣고 지키는 자가 복이 있느니라 하시니라 누가복음 11장 28절 말씀 -아멘-
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 Slide 1 (of 19).
제 1 강.
정다면체, 다면체와 정다각형, 다각형의 관계 한림초등 학교 영제 6학년 5반 송명훈.
P 등속 직선 운동 생각열기 – 자동차를 타고 고속도로를 달릴 때, 속력계 바늘이 일정한 눈금을 가리키며 움직이지 않을 때가 있다. 이 때 자동차의 속력은 어떠할까? ( 속력이 일정하다 .)
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
중등용 몸으로 말해요.
메모리 타입 분석을 통한 안전하고 효율적인 메모리 재사용
20강 패턴을 통한 객체지향 언어의 이해 - II - 난이도 있는 패턴 예제 - I Lecturer Kim Myoung-Ho
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
3주차 오늘은 2주차에 만든 모형의 문제점이 뭘까 생각하면서 더 멀리 날아갈수 있게
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
수학 6학년 가단계 9.문제를 해결 하기 3/7 9 문제를 해결 하기.
객체기반 SW설계 팀활동지 4.
CHAP 2:순환 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
5장. 선택 알고리즘.
CHAP 2:순환.
3-2. 지구의 크기.
Homework #8 (실습 #7) [1/2] 다음을 수행하는 PHP 프로그램을 작성하여 프로그램과 결과물을 프린트하여 제출한다. sin(45º), cos(45º), tan(45º)를 출력하는 프로그램을 작성하시오. 피보나치 수를 구하는 함수 fib($n)을 작성하고,
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
구조체(struct)와 공용체(union)
미 술 5 학년 4.이야기 세상 (5-6/6) 초기화면 마술 그림을 그리고 작품 감상하기.
왜 ‘프로그래밍’을 ‘비이공계 학생’이 알아야 하는가?
수치해석 ch3 환경공학과 김지숙.
• 수학 • 6학년 나단계 • 7. 연비>3/9 두 비의 관계를 연비로 나타내기 수업활동 수업계획.
★나의 꿈! ☆ 6학년 2반 26번 최수인.
수학 2 학년 1 학기 문자와 식 > 미지수가 2개인 연립방정식 ( 3 / 4 ) 대입법으로 풀기.
중국 중산층 장기 해외여행자 증가 이유 언어정보학과 김예원.
내가 만든 인천의 상징 고돌이와 고순이 코리아 모둠 기획: 신수현 자료 수집: 전재우 김준영
졸업프로젝트.
피보나치수열에 대하여 한림초 5학년 신동오.
Presentation transcript:

Programming Challenge! AS2008 Ted Programming Challenge!

발표자 소개 Generalist AnD Study 열심멤버3레벨 안준석(Ted)

오늘 할 이야기

CyberJJ님 2008 Book Award! * 본 PT 에서는 좀 더 쉽게 재미에 다가설수 있 도록 안내만 해 드립니다. ^^

책 소개 기간 2008.01.12 시작 2008.05.03 끝 14주 문제 풀이 36개

책 들여다보기 자료구조 문자열 정렬 계산과 대수 조합론 정수론 백트래킹 그래프 순회 그래프 알고리즘 동적 프로그래밍 격자 기하 계산기하

ACM 문제 양식

Introduce 스터디 소개

Online Judge

문제 고르기

문제 풀이 과정 Online

문제 풀이 과정 Offline 부작용-기억에 의존한 풀이

Insight 소가 뒷걸음질치다 쥐 잡다? 일을 시작하기 위해 기분이 내킬 때까지 기다리는 따위의 짓을 하지 않으려면 시험 제도는 좋은 훈련이 된다. – 아놀드 토인비

소가 뒷걸음질 쳐서 쥐 잡는 일은 없었다 그 만큼 Solved 는 기뻤지요~

끌개 찾기, 깔끔하게 코딩하기, TDD 시행 착오 무작정 생각 없이 달려들면.. 맨땅에 헤딩 하고.. 달릴 수 있는것은 Break 가 있기 때문

닭 잡는데 소 잡는 칼 왼손은 거들뿐. 괜히 갓 배운 알고리즘 사용하려다가 낭패 기본적인 조작이 중요

수학은 좋은 도구다

발상과 표현 표현 기법은 생각을 더욱 풍부 하게 한다.

Algorithm 재귀와 동적프로그래밍

에셔의 ‘그림 그리는 손’ 80%

간단한 예 피보나치 수열 1 1 + 1 = 2 1 + 2 = 3 2 + 3 = 5 3 + 5 = 8 f(n) = f(n-1) + f(n-2) f(1) = f(2) = 1

재귀 공부 하기 자신과 성격은 똑같지만 크기만 다른 문제와의 관계를 통해 문제의 구조를 파악하는 것. 이것이 재귀적 접근 자신과 성격은 똑같지만 크기만 다른 문제와의 관계를 통해 문제의 구조를 파악하는 것. 이것이 재귀적 접근 재귀가 제대로 작동하기 위해서는 어떤 문제에 포함되어 있는 동일한 문제는 원래 문제보다 크 기가 작아야 한다. 연속적인 재귀 호출의 끝에는 항상 재귀적 순환 을 끝내는 경계조건에 대한 정의가 있어야 한다.

재귀 사용해 보기 피보나치 수열 fib(n) { if (n=1 or n=2) then return 1; else return (fib(n-1) + fib(n-2)); } ② ①

중복 호출로 심각한 비효율 발생 fib(7) fib(6) fib(5) fib(4) fib(4) fib(3) fib(3)

중복을 줄이려면? 큰 문제의 해답에 작은 문제의 해답이 포 함되어 있고 이를 재귀호출 알고리즘으로 구현하면 지 나친 중복이 발생하는 경우에 이 재귀적 중복을 해결하는 방법이 필요하 다.

동적 프로그래밍 최적 부분 구조를 이룬다. 재귀적으로 구현했을 때 중복 호출로 심각한 비효율이 발생한다. 다음 두 성질을 가지고 있는 문제 대해 적절한 저장 방법으로 중복 호출의 비효율을 제거한 것을 동적 프 로그래밍이라 한다. 최적 부분 구조를 이룬다. 재귀적으로 구현했을 때 중복 호출로 심각한 비효율이 발생한다.

동적 프로그래밍 피보나치 수열 fib(n) { f[1] <- f[2] <- 1 for i<-3 to n f[i] <- f[i-1] + f[i-2]; return f[n]; } Dynamic 용어의 유래는 원래 제어 분야에서 해를 테이블에 저장해가면서 풀어나간다는 데서 유래했다고 한다. 영어든 한국어든 어울리지 않음.

생각의 틀 만드는 훈련을 했다 이 책에서 배운 가장 큰 배움 문제 해결 포인트 알고리즘 도구 재귀로 피보나치 수열 구하면 느리다 해결 포인트 중복을 제거한다 알고리즘 도구 동적 프로그래밍 생각의 틀 만드는 훈련을 했다

문제 소개 Algorithm/Stacks of Flapjacks - 팬 케이크 암기해서 풀려고 함 Algorithm/Expressions - 표현식 재귀 동적프로그래밍

또 다른 도전! TopCoder

생각하는 방법을 터득한 것은 미래의 문제 를 미리 해결한 것이다 사실을 많이 아는 것보다는 이론적 틀이 중요하고, 기억력보다는 생각하는 법이 더 중요하다 – 제임스 왓슨

감사합니다! 2009.01.10 Ted