Language/C

· Language/C
작성은 끝냈지만 업로드를 안해서6개월간 묵혀둔.... 글 공개함미다~     스택 (Stack)스택 = 쌓아놓은 더미 스택의 특징 = 후입선출* 후입선출(LIFO)= Last In First Out= 가장 최근에 들어온 데이터가 가장 먼저 나간다​아래 사진은 awesomeo184.log 님의 블로그 사진을 인용했습니다.https://velog.io/@awesomeo184/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EC%8A%A4%ED%83%9D​ (1) 스택의 구조스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형구조(LIFO)로 되어있다.자료를 넣는 것 = PUSH넣어둔 자료를 꺼내는 것 = POP (꺼내는 데이터는 가장 최근에 PUSH 된 것)​객체를 0개 이상의 원소를 ..
· Language/C
K-보나치 (K-bonacci)​K-보나치는 피보나치 함수를 아주 조금 확장한 형태이다.K-보나치 수열의 정의는 다음과 같다.If n>kFn = Fn-1 + Fn-2 + … + Fn-kelseF1 = F2 = F3 .. = Fk = 1​피보나치 수열은 K=2인 경우이고4-보나치 수열은 아래와 같다.If n>4Fn = Fn-1 + Fn-2 + Fn-3 + Fn-4 elseF1 = F2 = F3 = F4 = 1​K-보나치 수열의 n번째 값을 구하는 프로그램은 recursion(재귀)를 이용하면 쉽게 코드를 구현할 수 있다.K값은 고정되어 변하지 않지만 n번째값을 구하기 위해1~n-1까지의 합을 구하면 되기 때문에 n값을 변화시키는 재귀함수가 필요하다.​     코드#include int k_bonacci(i..
· Language/C
저번 글에서 순열 알고리즘에 대한 개념과 간단한 예제를 살펴보았다.https://aeeazip.tistory.com/4 [C언어] 순열과 중복순열순열 (1) 순열 _ nPr - 서로 다른 n개 중에서 r개(n≥r)를 골라 순서를 고려해 나열한 경우의 수 - ex) 0~8 까지의 숫자 중에서 3개의 숫자를 순열로 뽑는 경우 → ( 0 1 2 ) / (1 2 0) / ( 1 0 2 ) 는 모두 다른aeeazip.site​     문제 설명​이번 글에서는 순열을 활용한 연기상(수상자) 뽑기 프로그램을 작성해 볼 예정이다. 문제는 다음과 같다. Q. 배우들 중에서 n명을 뽑아서 최우수연기상, 우수연기상을 주려 한다. 1명은 단 하나의 상만 받을 수 있다. 배우를 정진영, 신동우, 이정환, 차선우, 공찬식 중에..
· Language/C
저번 글에서 중복조합 알고리즘에 대한 개념과 간단한 예제를 살펴보았다. https://aeeazip.tistory.com/3 [C언어] 조합과 중복조합조합 (1) 조합 _ nCr - 서로 다른 n개 중에서 r개(n≥r)를 뽑는 경우 - 경우의 수에서 순서를 고려하지 않는 경우를 말한다 - ex) 0~8 까지의 숫자 중에서 3개의 숫자를 조합으로 뽑는 경우 ( 0 1 2 ) / (1 2 0aeeazip.site      문제 설명이번 글에서는 중복조합을 활용한 세뱃돈 뽑기 프로그램을 작성해 볼 예정이다. 문제는 다음과 같다. Q. 1000, 5000, 10000원 짜리 지폐로 세뱃돈을 주려고 할때 주고 싶은 금액을 입력하면 3가지 지폐들을 이용하여 세뱃돈을 만들 수 있는 방법을 출력하세요. (입력은 100..
· Language/C
저번 글에서 조합 알고리즘에 대한 개념과 간단한 예제를 살펴보았다.https://aeeazip.tistory.com/3 [C언어] 조합과 중복조합조합 (1) 조합 _ nCr - 서로 다른 n개 중에서 r개(n≥r)를 뽑는 경우 - 경우의 수에서 순서를 고려하지 않는 경우를 말한다 - ex) 0~8 까지의 숫자 중에서 3개의 숫자를 조합으로 뽑는 경우 ( 0 1 2 ) / (1 2 0aeeazip.site     문제 설명이번 글에서는 조합을 활용한 공뽑기 프로그램을 작성해 볼 예정이다. 문제는 다음과 같다. Q. ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’의 번호가 매겨져 있는 공 7개 중에서 3개를 뽑아 출력하세요. (중복허용X) 문제에서 7개 중 3개를 뽑는다고 표현했고 중복을 허용하..
· Language/C
순열(1) 순열 _ nPr- 서로 다른 n개 중에서 r개(n≥r)를 골라 순서를 고려해 나열한 경우의 수- ex) 0~8 까지의 숫자 중에서 3개의 숫자를 순열로 뽑는 경우→ ( 0 1 2 ) / (1 2 0) / ( 1 0 2 ) 는 모두 다른 경우​012가능120가능210가능​     순열 알고리즘 핵심- 순열 알고리즘에서는 item과 bucket을 사용 ( 상황에 따라 item과 bucket을 어떻게 정하는지가 핵심 포인트 )​- item : 뽑을 수 있는 숫자 / 같은 특성을 갖고 있는 것들의 집단→ 오늘 순열 예제에서 item은 0부터 n까지 총 item개만큼의 수를 뽑아야 한다는 것을 의미( ex) int item = 5;             // 0~4까지 총 5개의 수를 뽑아야 한다는 것..
· Language/C
조합(1) 조합 _ nCr- 서로 다른 n개 중에서 r개(n≥r)를 뽑는 경우- 경우의 수에서 순서를 고려하지 않는 경우를 말한다- ex) 0~8 까지의 숫자 중에서 3개의 숫자를 조합으로 뽑는 경우 ( 0 1 2 ) / (1 2 0) / ( 1 0 2 ) 는 1가지 경우- 알고리즘을 짤 때 항상 오름차순 / 내림차순으로 뽑아서 중복 방지​013가능103불가능  - 오름차순의 경우 ( 0 1 3 ) 은 가능하지만 ( 1 0 3 ) 은 불가능하기 때문에 같은 수의 조합을 방지할 수 있다     조합 알고리즘 핵심- 조합 알고리즘에서는 item과 bucket을 사용 ( 상황에 따라 item과 bucket을 어떻게 정하는지가 핵심 포인트 )​- item : 뽑을 수 있는 숫자 / 같은 특성을 갖고 있는 것들의..
· Language/C
정적할당과 동적할당​(1) 정적할당- 변수 선언을 통해 필요한 메모리를 할당- 많은 양의 메모리는 주로 배열을 사용            ex) int arr[100]​그러나 필요한 양이 예측되지 않는 경우 프로그램 작성 시에 할당받을 수 없다.이런 경우에 "동적할당"을 사용한다!​ (2) 동적할당- 프로그램 실행 중에 운영체제로부터 사용할 메모리 공간을 할당- 힙(heap)으로부터 할당 - 사용자가 메모리 할당을 해제하기 전까지 계속 유지​※ 힙 : 운영체제가 소유/관리하는 메모리​​    동적할당 사용 방법- malloc() / free() 라이브러리 함수 사용- 라이브러리 함수 사용하기 위해 include 해야 함 ​(1) malloc() / free() 함수 사용 방법- malloc() : 크기만..
aeeazip
'Language/C' 카테고리의 글 목록