본문 바로가기
모두의 연구소_아이펠학교 대전 1기_2021/스터디 자료

3. 기초 알고리즘

by 꾸덕 2021. 6. 2.
728x90

1. 카운트와 합계구하기, 스위치 기법

카운트와 합계구하기

카운트 : 자연수의 증가와 개수를 나타낼때 사용한다.
합계: 누적합(s=s+i)은 자연수의 증가분을 누적한다.

스위치 기법

조건을 교대로 바꿔주면서 수행한다.

2. 수열과 진법변환, 유클리트 호제법

피보나치 수열

첫항을 1과 1로 한 후 앞항과 뒷항을 더해서 만든 수열이다.
1,1,2,3,5,8-> 1,1,2(1+1),3(2+1),5(2+3),8(3+5)

진법변환

10진수를 2진수로 변환, 2진수를 10진수로 변환하는 것!

  • 10진수->2진수
    DEC: 10진수
    S(8): 변환된 2진수 값 저장변수
    M: 변환시 몫이 저장되는 변수
    R: 변환시 나머지가 저장되는 변수
    i: 배열첨자

  • 2진수-> 10진수
    B(10): 2진수가 저장될 배열
    S:배열위치
    i: 인덱스
    D: 입력받은 10진수가 저장될 변수
    MOK:몫
    NMG:나머지

유클리트 호제법

최대공약수와 최소공배수 구하기

  • 최대공약수 구하기
  • 유클리트 알고리즘
    유클리드가 발견한 최대공약수의 성질을 이용한 알고리즘이다.
    유클리드는 A,B의 최대공약수는 B와 A를 B로 나눈 나머지의 최대공약수와 같다.
    어떤 수와 0의 최대공약수는 자기 자신이다 라고 했습니다.
    이 알고리즘은 전형적인 재귀호출 알고리즘으로 A와 B의 최대공약수를 구하기 위해서 A,B보다 더 작은 수인 B,A%B의 최대공약수를 구하는 과정을 이용합니다. 이때 나머지가 0이면 재귀호출을 멈추고 결과가 나옵니다.

3. 배열

최대 최소 구하기 알고리즘

N개의 수를 입력받아서 제일 첫수를 가장 큰수와 가장 작은 수라고 정의하고
2번째부터 MAX와 비교하여 2번째가 크면 MAX에 저장
2번째가 작으면 MIN에 저장
이런 식으로 2번째부터 n번째까지 비교하여 큰값은 MAX 작은값은 MIN에 저장

석차 구하기 알고리즘

주어진 데이터의 점수를 비교하여 석차를 구하는 것이다.
점수를 배열에 저장하고 동일한 크기의 배열에 저장한다.
석차를 위한 배열은 알고리즘의 시작단계에 초기화하는 과정이 필요하다 모두 0이거나 1로 설정한다.

728x90