• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Program made in brain
 

Program made in brain

on

  • 593 views

 

Statistics

Views

Total Views
593
Views on SlideShare
593
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Program made in brain Program made in brain Presentation Transcript

    • Program MADE IN BRAIN
      알고리즘의 ‘느낌’ 알아보기
      24th이시야
      Hanyang University, EECS, JARAM
    • 프로그래밍이란?
      Hanyang University, EECS, JARAM
    • 1%의 영감
      Hanyang University, EECS, JARAM
    • 그래서 프로그래밍이란?
      Hanyang University, EECS, JARAM
    • 프로그램 == 생각들의 집합
      프로그램 == 알고리즘의 집합
      Hanyang University, EECS, JARAM
    • 알고리즘
      문제를 해결하기 위한 절차나 방법
      Hanyang University, EECS, JARAM
    • 알고리즘의 연구
      고안
      검증
      분석
      테스트
      Hanyang University, EECS, JARAM
    • 알고리즘의 분석
      정확성
      작업량
      기억 장소 사용량
      단순성
      최적성
      Hanyang University, EECS, JARAM
    • 알고리즘의 속도
      O(1)
      O(log N)
      O(N)
      O(N log N)
      O(N2)
      O(N3)
      O(2n)
      Hanyang University, EECS, JARAM
    • 알고리즘의 효과
      한 문제를 푸는 여러 가지 방법의 예시
      Hanyang University, EECS, JARAM
    • 1부터 N까지의 합
      ?
      Hanyang University, EECS, JARAM
    • 1~N의 합
      반복문 이용
      수식 이용
      sumOneToN(int n){
      int result = 0;
      for (inti =1 ; i<=n ; i++)
      result +=I;
      return result;
      }
      sumOneToN(int n){
      return n * (n + 1) / 2;
      }
      Hanyang University, EECS, JARAM
    • GCD 구하기
      정의 이용
      유클리드 알고리즘
      intgreatestCommonDivisor(int num1, int num2){
      int result = 1;
      intminGCM = 1;
      int bignum = (num1<=num2)?num2:num1;
      for(inti= bignum;i>minGCM;i--){
      if(num1%i==0 && num2%i==0){
      result=i;
      return result;
      }
      }
      return minGCM;
      }
      intgreatestCommonDivisor (int num1, int num2){
      int temp;
      while(num1 != 0){
      if(num1<num2){
      temp = num1;
      num1=num2;
      num2=temp;
      }
      num1 = num1-num2;
      }
      return num2;
      }
      Hanyang University, EECS, JARAM
    • GCD 구하기
      유클리드 알고리즘
      개선된 유클리드 알고리즘
      intgreatestCommonDivisor (int num1, int num2){
      int temp;
      while(num1 != 0){
      if(num1<num2){
      temp = num1;
      num1=num2;
      num2=temp;
      }
      num1 = num1-num2;
      }
      return num2;
      }
      intgreatestCommonDivisor (int num1, int num2){
      int temp;
      while(num2 != 0){
      temp = num1 % num2
      num1=num2;
      num2=temp;
      }
      return num2;
      }
      Hanyang University, EECS, JARAM
    • ICPC acm with Algorithm
      Hanyang University, EECS, JARAM
    • 문제 1.코인
      10원이 K개, 50원이 L개, 100원이 M개 500원이 N개 있다. 총 금액을 구하시오
      입력
      한 줄에 정수인 K, L, M, N을 순서대로 입력한다. (0 <= K, L, M, N <= 100)
      출력
      결과값은 총 금액을 계산한 값이다.
      Hanyang University, EECS, JARAM
    • 문제 2. 소수 판별 하기
      1보다 큰 정수 P가 1과 P 자신 이외의양의
      약수를 가지지 않을 때의 P를 소수라고 부른다.
      이를테면 2, 3, 5, 7, 11, 13, 17, 19, 23 등은
      모두 소수이다.
      4, 6, 16 등과 같이 소수가 아니면서 2 이상인
      자연수를 합성수라고 정의하며, 1은 소수도
      아니고 합성수도 아닌 수이다.
      주어진 자연수 N의 소수여부를 판정해라.
      Hanyang University, EECS, JARAM
    • 문제 2. 소수 판별 하기
      Ex) 3 -> YES
      입력
      N은 1 <= N <= 10000000 사이의 범위를 가진다.
      출력
      N이 소수인 경우에는 Yes를 출력하고 N이 소수가 아닌 경우에는 No를 출력한다.
      Hanyang University, EECS, JARAM
    • 소수 판별
      정의에 의한 판별
      계량 된 방법
      Boolean isPrime(int n){
      for(inti = 2;i<=n;i++){
      if(n%i == 0)
      return false;
      }
      return true;
      }
      Boolean isPrime(int n){
      Int end = (int)sqrt(n);
      for(inti = 2;i<=end;i++){
      if(n%i == 0)
      return false;
      }
      return true;
      }
      Hanyang University, EECS, JARAM
    • 문제 3. 수 뒤집기
      뒤집어서 합한 뒤 대칭이 되는 수인지 아닌지 판단
      Ex) 124 -> 421 124+421 = 545
      입력
      Testcase T는 1<=T<=10
      정수N은 10<= N<=100000
      출력
      대칭이면 YES
      아니면 NO
      Hanyang University, EECS, JARAM
    • 문제 4. Molar mass
      'c' carbon , 'h' hydrogen , 'o' oxygen,and 'n' nitrogen without parntheses.the standard atomic weights for 'c' 'h' 'o' 'n‘
      Input
      Ex) C6H5OH
      output
      The line should contain the molar mass of the given molecular formula.
      Ex) 94.108
      Hanyang University, EECS, JARAM
    • 알고리즘 ++
      Hanyang University, EECS, JARAM
    • 자료구조
      배열
      스택

      트리
      그래프
      Hanyang University, EECS, JARAM
    • 정렬
      거품 정렬
      선택 정렬
      삽입 정렬
      쉘 정렬
      퀵 정렬
      병합 정렬
      힙 정렬
      기수 정렬
      Hanyang University, EECS, JARAM
    • 알고리즘 속도를 위한 기법
      상태저장
      자료구조 보완
      나누어 풀기
      점화식과 자료저장
      수식 이용
      Hanyang University, EECS, JARAM
    • 참고 자료
      Wiki Pedia
      C로 배우는 알고리즘
      생각하는 프로그래밍
      Hanyang University, EECS, JARAM
    • ?
      Q&A
      Hanyang University, EECS, JARAM