고양이와 별무리 도서관

고양이와 별무리 도서관 Post List

구조체(Struct)

구조체(Struct)는 연관된 여러 데이터를 하나의 단위로 묶어 처리하기 위해 사용되는 구조화 된 데이터입니다. 만약, C에서 struct를 사용하지 않고 프로그래밍을 하라고 한다면 데이터 관리나 함수 호출 등에서 가독성이 좋지 않게 되고, 유지보수도 어려워 질 것입니다. 예를 들어, 학생 정보를 관리하기 위해 이름, 나이, 학점 등을 각각의 변수...

[함수 포인터] 04. 함수 포인터를 보기 좋게 만들기

이전에 함수 포인터는 매우 유연한 프로그래밍을 만들기 좋은 도구지만, 매번 함수 포인터를 만들기에는 조금 코드가 많아지거나 보기 불편할 수 있습니다. 이를 간단하게, 보기 좋게 만드는 방법은 몇 가지 존재합니다. typedef로 기존의 타입에 새로운 별칭을 만들어주는 방법. (새로운 타입처럼 사용하기) using을 사용하여 기본 타입에 새...

[함수 포인터] 02. 콜백 함수와 델리게이트

콜백 함수(Callback function)와 델리게이트(Delegate)는 프로그램의 유연성과 확장성을 증가시켜주는 고급 프로그래밍 기법입니다. 프로그래밍을 하다 보면 종종 다양한 상황에 맞추어 동작을 변경해야 할 때가 있습니다. 이러한 상황에서 콜백 함수와 델리게이트는 다양한 상황에서 동작을 변경시켜 주면서도 디커플링을 유지시켜주는, 매우 유연한...

[함수 포인터] 01. 함수 포인터와 멤버 함수 포인터

프로그램에서 정의된 함수는 프로그램 실행 시 메모리에 로드됩니다. 이때, 함수의 이름은 실제로 해당 함수의 기계어 코드가 저장된 메모리 주소를 참조하는 식별자로 사용됩니다. 이 주소는 함수 코드의 시작 지점을 나타내며, 이를 통해 함수를 간접적으로 호출할 수 있습니다. 함수 포인터는 이러한 함수의 시작 주소를 저장하는 변수입니다. 즉, 함수 포인...

(백준/C++) 2629_양팔 저울

2629번: 양팔저울 (acmicpc.net) 문제는 주어진 무게추를 사용하여 만들 수 있는 모든 무게를 찾는 문제입니다. 문제의 그림에서 추와 구슬이 같이 그려져있어 자칫 어렵게 접근할 수도 있지만, 무게추들의 무게들을 전부 받은 후 그 무게추를 이용해서 만들 수 있는 모든 무게를 계산하면 여러 구슬에 대해서도 빠르게 풀어낼 수 있습니다. 무게추...

(백준/C++) 11066_파일 합치기

11066번: 파일 합치기 (acmicpc.net) 문제는 여러 개의 파일을 하나로 합치는 과정에서 발생하는 비용을 최소화하는 문제입니다. 각 파일은 다른 크기를 가지고 있으며, 두 파일을 합칠 때 그 크기의 합만큼의 비용이 발생합니다. 이 문제를 동적 계획법으로 접근하면, 각 부분 문제의 최적 해를 찾아 전체 문제의 최적 해를 구할 수 있습니다. ...