분류 전체보기(55)
-
객체지향 프로그래밍
객체지향 프로그래밍(Object-Oriented Prograimming) 쓰는 이유 절차지향 프로그래밍의 한계가 있음 유지보수를 편하게 만들어야함 함수를 보면 여러가지 변수가 보인다. 확장성이 좋다. 절차지향 프로그래밍의 한계 1. 데이터와 데이터를 다루는 함수가 분리되어 있다. 어떤 타입을 설계할 때, 그 타입을 다루는 함수를 작성할 때마다 첫 번째 인자로 어떤 데이터를 다룰 것인지 주소값을 받아야 했다. 이는 쓸데없이 함수가 길어지게 하는 요인이 되며, 함수 내부에서도 포인터로 데이터를 다뤄야 하는 불편함이 있다. 2. 함수의 이름을 항상 다르게 작성해야 한다. C언어에서 함수의 이름은 전역 이름공간을 사용하기 때문에 모든 함수마다 이름을 다르게 지어줘야 했다. 3. 프로그램을 확장하기 불편하다. 항..
2022.05.30 -
자료구조와 알고리즘
학습목표 ● 자료구조에 대해서 이해하고 적절하게 사용할 수 있다. ● 기초 알고리즘을 이해하고 적절하게 사용할 수 있다. ● 알고리즘은 분석할 수 있다. ● 프로그래밍 능력을 증진시킨다. 재귀 재귀는 함수가 자신을 호출하는것을 의미함. 재귀함수 : 자기 자신을 호출하는 함수. '분할 정복(divide & conquer)' 방식 문제에 따라 전체를 한 번에 해결하기보다 같은 유형의 하위 작업으로 분할하여 작은 문제부터 해결하는 방법이 효율적*일 수 있기 때문이다. 잘못된 재귀함수 -> 스택 오버플로 재귀의 구조는 중단시키는 기저 조건과 기저 조건을 수렴하게되는 재귀 조건으로 구성되어있음. 자료구조 자료구조는 크게 선형 구조와 비선형 구조로 나누어 진다. 선형 구조에는 리스트,스택,큐가 있다. 비선형 구조에..
2022.05.09 -
Pointer to Type
// Type : 이진수 해석 방법 ex)char short int double //Memory : 이진수의 저장 공간 나같은 경우에는 메모리 주소값은 못들어가는줄 알았는데 상관이 없었음 ㅠㅠ //Object : 메모리 사용 영역 -> Memory int a; // int 타입의 객체 a을 할당 n(0x1234, 4byte) : ?? a이라는 객체를 만듬 type int 4byte n = 10; // n(0x1234, 4byte) : 10 n의 값은 10 n : int 10 : int 도식화를 그려보자 int* p; // int* 타입의 객체 p를 할당 p(0x1238, 8byte) : ?? p = &n; // p(0x1238, 8byte) : 0x1234 // = 연산자는 두 피연산자의 타입이 같아야 ..
2022.05.02 -
String 함수 정리
일단 스트링 함수를쓸려면 라이브러리에서 #include 이 구문을 써야함 함수 위에 strcpy() : 대상 문자열 전체를 복사한다. strncpy() : 대상 문자열을 일정 길이만큼 복사한다. strcat() 부분은 복사 붙여넣기 strcat() : 문자열 A에 원하는 문자열B를 문자열 A 뒤쪽에 이어 붙이는 함수 strncat() : 문자열 A에 원하는 문자열B의 n개를 문자열 A 뒤쪽에 이어 붙이는 함수 사진 보면 2번째까지 입력이 되었다. strncat(str1,str3, 2) str3문자열에 2번째자리까지 처리됨 strlen() 부분은 문자열 길이구하는거 같다. 보시는거와 같이 strlen은 공백까지만 입력받기때문에 정확한 값을 알기 어려움 to_string함수 인트값을 문자열로 저장해줌 정말좋..
2022.05.02 -
Baekjoon 1157 문제
진짜 미쳐버릴껏같다 이문제를 4시간동안 봤다. ㅠㅠ #include int main() { char arr[1000001] = { ' ' }; // int index_count [26] = { 0 }; // int index = 0; // 문자열 저장할려고 만든 인덱스값 int max = 0; // 가장 많이나온값 char maxindex = 0; // 가장 많이나온 문자 for (int i = 0; arr[i] != '\0'; i++) { if (arr[i] >= 97 && arr[i] A 0 식으로 저장해야한다. index_count[index]++;// 0부터 내가친 문자까지 저장 | b - > B 1 if (index_count[index] == max) // { maxindex = '?'; } ..
2022.05.02 -
Baekjoon
int main() { int c; scanf("%d", &c); //테스트 케이스 입력 for (int i = 0; i
2022.05.01