알고리즘 (2)

subinii·2024년 4월 1일

DS 25기

목록 보기
14/46

9. 근삿값 알고리즘

  • 근삿값 : 특정 값(참값)에 가장 가까운 값
  • abs 함수 사용해서 구하기

10. 평균 알고리즘

  • 평균 : 여러 수나 양의 중간값을 갖는 수
  • for문을 사용해서 구하기

11. 재귀 알고리즘

  • 재귀 : 나 자신을 다시 호출하는 것
  • recusion() 함수 쓰기

12. 하노이의 탑 알고리즘

  • 하노이의 탑 : 퍼즐 게임의 일종으로 세 개의 기둥을 이용해서 원판을 다른 기둥으로 옮기기
  • 제약 조건 : 한 번에 한 개의 원판만 옮길 수 있다. 큰 원판이 작은 원판 위에 있어서는 안된다.
  • 재귀 함수 이용
 #원판 개수, 출발 기둥, 도착 기둥, 경유 기둥 / 재귀 함수 사용

 def moveDisc(discCnt, fromBar, toBar, viaBar):
     	if discCnt == 1:
          print(f'{discCnt}disc를 {fromBar}에서 {toBar}(으)로 이동')

    	else:
          moveDisc(discCnt -1, fromBar, viaBar, toBar)
          #(discCnt -1)개들을 경유 기둥으로 이동
          print(f'{discCnt}disc를 {fromBar}에서 {toBar}(으)로 이동')
          #discCnt를 목적 기둥으로 이동

          moveDisc(discCnt-1, viaBar, toBar, fromBar)
          #(discCnt -1)개들을 도착 기둥으로 이동

 moveDisc(3, 1, 3, 2

13. 병합 정렬 알고리즘

  • 병합 정렬 : 자료구조를 분할하고 각각의 분할 된 자료 구조를 정렬한 후 다시 병합하여 정렬한다.
  • 재귀 함수 이용

14. 퀵 정렬 알고리즘

  • 퀵 정렬 : 기준 값보다 작은 값과 큰 값으로 분리한 후 다시 합친다.
  • 재귀함수 사용

“이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.”

profile
데이터 공부 기록

0개의 댓글