본문 바로가기
반응형

공부/데이터사이언스48

[백준] 9단계 - 17478번 (파이썬) check! 17478번 https://www.acmicpc.net/problem/17478 어렵다.... while문을 쓰고 싶은 충동을 이겨내고 재귀함수를 써보려고 노력했는데, 뭔가 아직 어색하다. 재귀함수만들 때 return을 많이 쓰게 되는데, 이건 print를 써야 하는 것 같아서 코드 짜는데 더 어색했다.ㅋㅋㅋㅋ # n은 출력횟수. # question은 챗봇이라서 질문따라 답변 달라질 수 있으므로 포함시킴(필수x). def recur(question, n, cnt=""): # cnt는 ""로 초기화함. if question == "재귀함수가 뭔가요?": if n == 0: print(cnt + "\"재귀함수가 뭔가요?\"") print(cnt + "\"재귀함수는 자기 자신을 호출하는 함수라네\"") pri.. 2022. 7. 3.
[백준] 9단계 - 10870번 (파이썬) 10870번 https://www.acmicpc.net/problem/10870 # n번째 피보나치 수 구하기 def pibo(n): if n == 0: return 0 elif n==1: return 1 else: return pibo(n-2) + pibo(n-1) x = int(input()) print(pibo(x)) 2022. 7. 3.
[백준] 9단계 - 10872번 (파이썬) 10872번 https://www.acmicpc.net/problem/10872 재귀의 가장 대표적인 문제인 팩토리얼 구하는 문제이다. 솔직히 recursion은 아직도 자신이 없다. 언제쯤 익숙해질지 잘 모르겠다. 참고로 math 모듈에 factorial 함수가 있다. def myFactorial(n): if n 2022. 7. 2.
Sorting algorithm(정렬 알고리즘) 2탄 - Insertion sort(삽입 정렬) 2. Insertion sort 삽입 정렬 - 왼쪽에서 2번째 수와 첫번째 수를 비교해서 작은 걸 첫번째에 위치시킴. (둘을 swap.) → 다음 수 즉, 왼쪽에서 3번째 수와 이미 정렬한 두 수를 비교하여 3번째 수의 위치를 찾아서 정렬시킴. → 같은 방식으로 4번째 수와 1~3번째 수를 비교해서 정렬시킴. → 계속 반복. 왼쪽에서 첫번째 수(70)는 이미 정렬된 것으로 간주. 왼쪽에서 두번째 수 30 < 70 → 30의 위치는 70의 앞이여야 하므로 30과 70 swap. 30, 70은 정렬됨. 100 vs 70 → 70 < 100 이므로 100은 70 다음이어야 함. 즉, swap할 필요 없음. 60 vs 100 → 60 < 100 이므로 100과 60 swap. 60 vs 70 → 60 < 70 .. 2022. 7. 1.
반응형