C 4

알고리즘 절대, 상대 오차 (백준 1008)

알고리즘을 풀다 보면이 문제와 같이 "출력값의 절대오차 또는 상대오차가 10^-9 이하이면 정답"라는 조건이 달린 문제를 많이 볼 수 있다. 이번 글에서는 오차, 절대 오차, 상대 오차에 대해 알아본 후해당 문제를 풀이할 것이다. 오차(Error)오차란 참값(또는 이론값)과 실제 측정값(또는 근삿값) 사이의 차이를 의미한다.굳이 식으로 본다면 다음과 같이 볼 수 있다. 오차 = 측정값 또는 근삿값 − 참값 (실제 값) 절대 오차(Absolute Error)절대 오차란 참값과 근삿값의 차이를 절댓값으로 취한 것을 의미한다.식으로 예를 들면 다음과 같이 볼 수 있다. 참값 = 3.14159265근삿값 = 3.14 절대 오차 = ∣근삿값 − 참값∣= 0.00159265 이걸 또 다르게 표현하면 0.001592..

알고리즘 2025.04.13

하노이의 탑과 재귀 함수 (학교 과제, p58)

Q1. 하노이의 탑 각 단계하노이의 탑 목표A에 있는 원판을 모두 C로 옮기기하노이의 탑 규칙1. 한 번에 한 원판만 옮길 수 있다.2. 큰 원판이 작은 원판 위에 올려지면 안 된다. 위에 원판이 3개인 하노이 탑을 예로 들면A => BA => CC => BA  => CB  =>  AB => CA  => C이렇게 하면 위에 이미지 처럼 A에 있는 원판이 모두 C로 이동한다. n개의 원판이 있는 하노이의 탑의 이동 횟수는T(n) = 2^n - 1로 나타낼 수 있다.예)원판이 4개 있는 하노이의 탑 이동 횟수T(4) = 2^4 - 1 = 16 - 1 = 15원판이 5개 있는 하노이의 탑 이동 횟수T(5) = 2^5 - 1 = 32 - 1 = 31 Q2. 재귀함수란?재귀 함수는 자기 자신을 호출하여 문제를 해..

자료구조 2024.05.28

C언어 배열과 파이썬 리스트 차이점 (학교 과제, p48)

C언어 배열과 파이썬 리스트에는 몇 가지 차이점이 있다. 1. 정적, 동적 할당C 언어의 배열은 정적으로 할당된다. 프로그램이 실행될 때 배열의 크기가 결정되고,이 크기는 실행 중에 변경할 수 없다.#include int main() { int a[10] = {0, }; a[4] = 5; a[3] = 7; // a[11] = 8; 에러! return 0;}파이썬의 리스트는 동적으로 할당된다. 즉, 리스트를 만들 때 크기를 지정할 필요가 없으며,필요에 따라 크기가 자동으로 조정된다.# 빈 리스트 생성dynamic_list = []# append() 함수를 사용하여 요소를 추가dynamic_list.append(1)dynamic_list.append(2)dynamic_li..

자료구조 2024.04.14