전체 글
개인 기록용 웹 사이트
-
컴퓨터를 학습시키면 컴퓨터는 그것의 모델을 만들어낸다. 데이터가 많을수록, 그리고 정확할수록 좋은 모델이 나올 수 있다. 머신러닝은 공식의 대중화이다. 1. 지도학습(Supervised Learning) 과거의 데이터(독립변수와 종속변수와의 관계)를 학습하여 결과를 예측하는 것에 사용하는 것에서 역사와 비슷하며 정답이 있는 문제를 해결하는 것. 지도학습은 분류와 회귀로 나뉜다. 1-1. 회귀(Regressison) 숫자를 예측하고 싶다면 회귀를 사용해야 한다. 즉 종속변수가 양적 데이터라면 회귀를 사용해야 한다. = 지도학습의 회귀로 해결하라. 1-2. 분류(Classification) 어떤 문제에서 추측하고자 하는 것이 숫자가 아닌 문자나 이름이라면 분류를 사용해야 한다. 즉 종속변수가 범주형 데이터라..
머신러닝 - 머신러닝 분류 학습컴퓨터를 학습시키면 컴퓨터는 그것의 모델을 만들어낸다. 데이터가 많을수록, 그리고 정확할수록 좋은 모델이 나올 수 있다. 머신러닝은 공식의 대중화이다. 1. 지도학습(Supervised Learning) 과거의 데이터(독립변수와 종속변수와의 관계)를 학습하여 결과를 예측하는 것에 사용하는 것에서 역사와 비슷하며 정답이 있는 문제를 해결하는 것. 지도학습은 분류와 회귀로 나뉜다. 1-1. 회귀(Regressison) 숫자를 예측하고 싶다면 회귀를 사용해야 한다. 즉 종속변수가 양적 데이터라면 회귀를 사용해야 한다. = 지도학습의 회귀로 해결하라. 1-2. 분류(Classification) 어떤 문제에서 추측하고자 하는 것이 숫자가 아닌 문자나 이름이라면 분류를 사용해야 한다. 즉 종속변수가 범주형 데이터라..
2020.08.20 -
Array는 같은 Datatype을 가진 많은 변수들을 하나의 변수로 저장할 수 있게 해주는 자료 구조이다. 일반적으로 int a[5]; 로 입력하며 대괄호 안에는 변수도 들어갈 수 있으나 컴파일러마다 허용해주는 것이 제각각이기 때문에 정수형 데이터로 사용하는 것이 좋다. sizeof() 함수를 이용해 int a[10]; 의 메모리 크기를 검사해보면 40이 출력된다. 즉 int형 데이터가 4byte이므로 그것의 10개 만큼의 데이터 공간(0번째 index 부터 9번째 index)을 배열로써 만들 수 있는것이다. 만약 20개의 데이터에 값을 순차적으로 한꺼번에 저장하려면 for 반복문을 사용해 위와 같이 설정할 수 있다. 기본 설정값으로 반복문을 이용하지 않고 array에 초기 값을 따로 입력해줘도 위와 ..
[ C언어 ] - 배열 ArrayArray는 같은 Datatype을 가진 많은 변수들을 하나의 변수로 저장할 수 있게 해주는 자료 구조이다. 일반적으로 int a[5]; 로 입력하며 대괄호 안에는 변수도 들어갈 수 있으나 컴파일러마다 허용해주는 것이 제각각이기 때문에 정수형 데이터로 사용하는 것이 좋다. sizeof() 함수를 이용해 int a[10]; 의 메모리 크기를 검사해보면 40이 출력된다. 즉 int형 데이터가 4byte이므로 그것의 10개 만큼의 데이터 공간(0번째 index 부터 9번째 index)을 배열로써 만들 수 있는것이다. 만약 20개의 데이터에 값을 순차적으로 한꺼번에 저장하려면 for 반복문을 사용해 위와 같이 설정할 수 있다. 기본 설정값으로 반복문을 이용하지 않고 array에 초기 값을 따로 입력해줘도 위와 ..
2020.08.19 -
1. break 제어 명령 break는 흔히 반복문을 제어할 때 사용된다. i를 100까지 반복하다 50에서 멈추고 싶다면 새로운 조건문으로 50을 설정하고 break를 걸면 멈추게 된다. rand() 는 랜덤 숫자를 출력할 때 쓰는 함수이다. stdlib.h 라이브러리에 속해있다. 하지만 컴파일을 몇번 시도해도 계속해서 같은 숫자들만 출력되는 것을 알 수 있다. srand() 함수를 이용, srand(time(NULL)) 을 이용하면 현재의 시간으로 랜덤 값의 seed를 초기화 하여 완전한 랜덤 숫자를 출력할 수 있다. srand() 함수는 time.h 라이브러리에 속해있다. rand() 함수에 %10+1 을 입력하여 1~10까지 랜덤한 나머지를 출력할 수 있도록 하고 나머지 5가 나왔을 때 멈추게 하..
[ C언어 ] - 흐름 제어 명령1. break 제어 명령 break는 흔히 반복문을 제어할 때 사용된다. i를 100까지 반복하다 50에서 멈추고 싶다면 새로운 조건문으로 50을 설정하고 break를 걸면 멈추게 된다. rand() 는 랜덤 숫자를 출력할 때 쓰는 함수이다. stdlib.h 라이브러리에 속해있다. 하지만 컴파일을 몇번 시도해도 계속해서 같은 숫자들만 출력되는 것을 알 수 있다. srand() 함수를 이용, srand(time(NULL)) 을 이용하면 현재의 시간으로 랜덤 값의 seed를 초기화 하여 완전한 랜덤 숫자를 출력할 수 있다. srand() 함수는 time.h 라이브러리에 속해있다. rand() 함수에 %10+1 을 입력하여 1~10까지 랜덤한 나머지를 출력할 수 있도록 하고 나머지 5가 나왔을 때 멈추게 하..
2020.08.18 -
반복문에는 대표적으로 for, while, do while 문이 있다. 상황에 맞게 더 편리한 반복문들이 구별되어 있다. 1. for 반복문 for(i = 0; i < 10; i++) 일반적으로 위와 같이 설정되고 연산자 부분에는 어떤 연산 형식이 와도 상관 없음. 동일 : for(i = 0; i < 10; i = i + 1) 언제 끝나는지 명확히 알 때 쓰는 것이 자연스러운 반복문임. 2. while 반복문 i = 0; while(i < 10) { printf("반복할 내용", i); i++ } 일반적으로 위와 같이 설정되고 언제 끝나는 지 알려주는 횟수보다는 숫자가 아니라 특정 종결되는 상황이 있을 때 쓰는 것이 좋은 반복문임. C언어에서는 0이 아닌이상 모든 수를 진실로 판단함. 즉 위 while ..
[ C언어 ] - 반복문반복문에는 대표적으로 for, while, do while 문이 있다. 상황에 맞게 더 편리한 반복문들이 구별되어 있다. 1. for 반복문 for(i = 0; i < 10; i++) 일반적으로 위와 같이 설정되고 연산자 부분에는 어떤 연산 형식이 와도 상관 없음. 동일 : for(i = 0; i < 10; i = i + 1) 언제 끝나는지 명확히 알 때 쓰는 것이 자연스러운 반복문임. 2. while 반복문 i = 0; while(i < 10) { printf("반복할 내용", i); i++ } 일반적으로 위와 같이 설정되고 언제 끝나는 지 알려주는 횟수보다는 숫자가 아니라 특정 종결되는 상황이 있을 때 쓰는 것이 좋은 반복문임. C언어에서는 0이 아닌이상 모든 수를 진실로 판단함. 즉 위 while ..
2020.08.17 -
1. arithmatic operation 기본적으로 +, -, *, / 가 있으며 모듈러 연산자 %의 경우 나머지만을 출력한다. 5를 2로 나누면 1, 42를 4로 나누면 2가 나오므로 각각 1,2 가 출력된다. 2. relational operation ==는 x==y가 있을 때 x와 y가 같은지를 물어보는 연산자이며 x!=y는 x와 y가 다른가를 물어본다. 참이면 1, 거짓이면 0을 출력한다. 3. bit-wise operation &, or, ^, ~, 연산자가 존재한다. 4. logical operation &&, ||, ! 연산자가 존재한다. 각각 and, or, not이다. &&는 모든 항이 true여야만 true를 출력, ||는 하나의 항만 true여도 true를 출력, !는 결과를 항상 ..
[ C언어 ] - 연산자의 종류1. arithmatic operation 기본적으로 +, -, *, / 가 있으며 모듈러 연산자 %의 경우 나머지만을 출력한다. 5를 2로 나누면 1, 42를 4로 나누면 2가 나오므로 각각 1,2 가 출력된다. 2. relational operation ==는 x==y가 있을 때 x와 y가 같은지를 물어보는 연산자이며 x!=y는 x와 y가 다른가를 물어본다. 참이면 1, 거짓이면 0을 출력한다. 3. bit-wise operation &, or, ^, ~, 연산자가 존재한다. 4. logical operation &&, ||, ! 연산자가 존재한다. 각각 and, or, not이다. &&는 모든 항이 true여야만 true를 출력, ||는 하나의 항만 true여도 true를 출력, !는 결과를 항상 ..
2020.08.17 -
변수명은 기본적으로 첫글자에 영문 대문자, 소문자, _ 언더스코어 만 올 수 있다. 위와 같이 변수명의 첫단어로 숫자가 오거나 변수명 사이에 띄어쓰기가 오는경우 변수명으로 지정할 수 없다. 윈도우 환경에서 폴더명의 띄어쓰기를 자동으로 _로 대체하는 이유가 이와 비슷하다. 데이터 타입은 여러가지가 있으나 char, int, float, double이 가장 많이 사용된다. C에서는 변수의 성질을 결정해주는 요소인 데이터 타입, 이름 외에도 static, local, global 등이 있다. 입력시킨 변수를 출력하기 위해선 그것을 printf할 수 있는, 받아낼 수 있는 특정한 문자를 입력해야 한다. https://www.tutorialspoint.com/c_standard_library/c_function_..
[ C언어 ] 변수, 자료형변수명은 기본적으로 첫글자에 영문 대문자, 소문자, _ 언더스코어 만 올 수 있다. 위와 같이 변수명의 첫단어로 숫자가 오거나 변수명 사이에 띄어쓰기가 오는경우 변수명으로 지정할 수 없다. 윈도우 환경에서 폴더명의 띄어쓰기를 자동으로 _로 대체하는 이유가 이와 비슷하다. 데이터 타입은 여러가지가 있으나 char, int, float, double이 가장 많이 사용된다. C에서는 변수의 성질을 결정해주는 요소인 데이터 타입, 이름 외에도 static, local, global 등이 있다. 입력시킨 변수를 출력하기 위해선 그것을 printf할 수 있는, 받아낼 수 있는 특정한 문자를 입력해야 한다. https://www.tutorialspoint.com/c_standard_library/c_function_..
2020.08.17 -
동적메모리의 2차원 배열에 관한 내용이다. int형 포인터 사이즈만큼의 공간을 8개 할당하고 그 할당된 데이터 각각의 데이터의 포인터에 int형 사이즈 6개를 할당하는 것이다. 그림으로 풀이하면 위와 같다. 가운데 8개의 데이터들은 각각 하나의 변수만큼이 6개 만큼의 위치를 포함하고 있는 어떠한 배열의 첫번째 포인터값을 가리키는 것이다. 즉 가운데 주황색 네모는 위 6개 배열의 맨 첫번째 데이터를 가리키며 그 옆 그린색 네모는 가리키는 6개 배열의 맨 첫번째 데이터를 가리키는 것이다. 이런식으로 반복되어 48개의 데이터를 만들어내어 2차원 배열을 만들어낸다. y가 0일때 x값이 0부터 5까지 증가하며 데이터를 만들어내고 x가 6이되었을 때 y는 1이 되며 다시 그 값에 해당하는 x값이 0부터 5까지 검증..
C 프로그래밍 (20) - 동적 메모리 2차원 배열동적메모리의 2차원 배열에 관한 내용이다. int형 포인터 사이즈만큼의 공간을 8개 할당하고 그 할당된 데이터 각각의 데이터의 포인터에 int형 사이즈 6개를 할당하는 것이다. 그림으로 풀이하면 위와 같다. 가운데 8개의 데이터들은 각각 하나의 변수만큼이 6개 만큼의 위치를 포함하고 있는 어떠한 배열의 첫번째 포인터값을 가리키는 것이다. 즉 가운데 주황색 네모는 위 6개 배열의 맨 첫번째 데이터를 가리키며 그 옆 그린색 네모는 가리키는 6개 배열의 맨 첫번째 데이터를 가리키는 것이다. 이런식으로 반복되어 48개의 데이터를 만들어내어 2차원 배열을 만들어낸다. y가 0일때 x값이 0부터 5까지 증가하며 데이터를 만들어내고 x가 6이되었을 때 y는 1이 되며 다시 그 값에 해당하는 x값이 0부터 5까지 검증..
2020.08.15 -
구조체 자료형 int와 char를 생성해주고 char의 공간을 100으로 부여해준다. book 구조체 포인터로 p를 생성해주고 book구조체로 형변환 한다음 구조체의 2배 만큼의 공간을 할당해준다. 구조체 포인터 같은 경우 -> 를 이용해 해당 변수에 접근 가능하다. p라는 구조체의 number 변수에 1을 삽입한다는 뜻이다. 그리고 title 변수에도 문자를 입력한다. 각각의 구조체 변수의 값을 넣어 초기화 해주고 이것으로 총 2개만큼의 책 정보가 들어갈 수 있는 배열같은 것이 만들어진 것이다. 다음으로 현재 자신이 관리하고 있는 모든 책의 정보를 출력하는 함수를 만든다. void shoeBook(struct Book *p, int n) n은 책의 갯수를 의미하며 포인터p는 구조체 book을 동적 메모..
C 프로그래밍 (19) - 동적 메모리 이용하기 II구조체 자료형 int와 char를 생성해주고 char의 공간을 100으로 부여해준다. book 구조체 포인터로 p를 생성해주고 book구조체로 형변환 한다음 구조체의 2배 만큼의 공간을 할당해준다. 구조체 포인터 같은 경우 -> 를 이용해 해당 변수에 접근 가능하다. p라는 구조체의 number 변수에 1을 삽입한다는 뜻이다. 그리고 title 변수에도 문자를 입력한다. 각각의 구조체 변수의 값을 넣어 초기화 해주고 이것으로 총 2개만큼의 책 정보가 들어갈 수 있는 배열같은 것이 만들어진 것이다. 다음으로 현재 자신이 관리하고 있는 모든 책의 정보를 출력하는 함수를 만든다. void shoeBook(struct Book *p, int n) n은 책의 갯수를 의미하며 포인터p는 구조체 book을 동적 메모..
2020.08.15 -
동적 메모리 할당이란 프로그램이 실행 도중에 동적으로 메모리를 할당받는 것이다. 프로그램에서는 효율성을 위해 필요한 만큼의 메모리를 시스템으로부터 할당받아 사용하고 사용이 끝나면 시스템에 메모리를 반드시 반납한다. 동적 메모리는 malloc()계열 라이브러리 함수를 사용해 할당받아 사용할 수 있다. malloc은 메모리를 할당하라는 의미이며 오른쪽 int형의 크기만큼 할당한다는 의미이다. int형은 4byte이므로 4를 넣어도 무방하다. 메모리를 할당 후 그부분의 주소를 가리키도록 해야하므로 (int *) integer pointer로 형변환을 시켜줌으로써 포인터 integer 변수가 해당 위치를 기억할 수 있게 해주는 것이다. pi가 NULL값이라 실패 문구가 뜬다면 exit(1)을 띄워 즉시 프로그램..
C 프로그래밍 (18) - 동적 메모리 이용하기동적 메모리 할당이란 프로그램이 실행 도중에 동적으로 메모리를 할당받는 것이다. 프로그램에서는 효율성을 위해 필요한 만큼의 메모리를 시스템으로부터 할당받아 사용하고 사용이 끝나면 시스템에 메모리를 반드시 반납한다. 동적 메모리는 malloc()계열 라이브러리 함수를 사용해 할당받아 사용할 수 있다. malloc은 메모리를 할당하라는 의미이며 오른쪽 int형의 크기만큼 할당한다는 의미이다. int형은 4byte이므로 4를 넣어도 무방하다. 메모리를 할당 후 그부분의 주소를 가리키도록 해야하므로 (int *) integer pointer로 형변환을 시켜줌으로써 포인터 integer 변수가 해당 위치를 기억할 수 있게 해주는 것이다. pi가 NULL값이라 실패 문구가 뜬다면 exit(1)을 띄워 즉시 프로그램..
2020.08.10 -
로컬 PC 범위내에서 파일을 직접 입력, 출력할 수 있다. C에서 제공하는 FILE 데이터 타입 변수는 close, write, delete, rename, open. read 같은 다양한 기능을 가지고 있다. fp = fopen 은 포인벼 변수fp에게 output.txt 파일을 열으라는 의미이며 w는 write 쓰기 모드를 의미한다. fp=NULL 즉 파일을 찾지 못했다면 실패 문구를 띄우며 그게 아니라면 성공 문구를 띄우고 fputc는 한글자씩 출력할 수 있다. fclose로 프로그램 종료시엔 해당 FILE변수를 반드시 닫아줄 수 있도록 한다. 출력후엔 위와 같이 output.txt 파일에 HELLO 문구가 출력된 것을 볼 수 있다. 읽기 모드로 실행하기 위해선 input.txt 파일이 사전에 존재해..
C 프로그래밍 (17) - 파일 입출력로컬 PC 범위내에서 파일을 직접 입력, 출력할 수 있다. C에서 제공하는 FILE 데이터 타입 변수는 close, write, delete, rename, open. read 같은 다양한 기능을 가지고 있다. fp = fopen 은 포인벼 변수fp에게 output.txt 파일을 열으라는 의미이며 w는 write 쓰기 모드를 의미한다. fp=NULL 즉 파일을 찾지 못했다면 실패 문구를 띄우며 그게 아니라면 성공 문구를 띄우고 fputc는 한글자씩 출력할 수 있다. fclose로 프로그램 종료시엔 해당 FILE변수를 반드시 닫아줄 수 있도록 한다. 출력후엔 위와 같이 output.txt 파일에 HELLO 문구가 출력된 것을 볼 수 있다. 읽기 모드로 실행하기 위해선 input.txt 파일이 사전에 존재해..
2020.08.09 -
구조체를 이용해 위와 같이 사각형의 넓이를 구하는 코드를 만들 수 있다. 먼저 x와 y라는 정수형 변수를 가진 구조체 point를 만들어주고 사각형을 의미하는 rect 구조체에 점 p1과 p2를 넣어준다. 구조체가 현재 이중으로 활용된 것이다. 그다음 메인함수에서 구조체 rect를 변수 r로 선언해주고 가로, 세로, 넓이, 둘레 변수를 정수형으로 선언한다. 주소r의 점 p1 x와 y좌표, p2 x와 y의 좌표를 사용자 입력값으로 받고 가로 값과 세로값은 각각 abs라는 절댓값으로 입력되도록 한다. 출력하면 위와 같이 사각형의 넓이와 둘레를 구할 수 있다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으로 정리하여 쓴 글임을 밝힙니다.
C 프로그래밍 (16) - 구조체 활용하기구조체를 이용해 위와 같이 사각형의 넓이를 구하는 코드를 만들 수 있다. 먼저 x와 y라는 정수형 변수를 가진 구조체 point를 만들어주고 사각형을 의미하는 rect 구조체에 점 p1과 p2를 넣어준다. 구조체가 현재 이중으로 활용된 것이다. 그다음 메인함수에서 구조체 rect를 변수 r로 선언해주고 가로, 세로, 넓이, 둘레 변수를 정수형으로 선언한다. 주소r의 점 p1 x와 y좌표, p2 x와 y의 좌표를 사용자 입력값으로 받고 가로 값과 세로값은 각각 abs라는 절댓값으로 입력되도록 한다. 출력하면 위와 같이 사각형의 넓이와 둘레를 구할 수 있다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으로 정리하여 쓴 글임을 밝힙니다.
2020.08.08 -
구조체 struct는 기본적으로 아래와 같은 구조로 이루어진다. 새로운 구조체 함수를 만들어 메인함수에서 구조체를 가져와 s라는 이름을 붙여 변수를 만든 것이다. 위와 같이 입력값에 따라 출력되도록 만들수도 있다. %lf는 double형 데이터를 입력받을 때 사용되며 %f는 float형 데이터를 입력받을 때 사용된다. 위는 두 점 사이의 거리를 구하는 코드이다. point 구조체를 생성해주고 메인함수에 각각 xDiff(x점 사이 차이), yDiff(y점 사이 차이)를 넣어주고 점 사이 거리를 double형 데이터 타입으로 넣는다. sqrt는 괄호안 값의 제곱근을 출력해주는 것으로 거리 공식을 대입하면 8이 나오고 제곱근 루트8이 출력된다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으..
C 프로그래밍 (15) - 구조체 struct구조체 struct는 기본적으로 아래와 같은 구조로 이루어진다. 새로운 구조체 함수를 만들어 메인함수에서 구조체를 가져와 s라는 이름을 붙여 변수를 만든 것이다. 위와 같이 입력값에 따라 출력되도록 만들수도 있다. %lf는 double형 데이터를 입력받을 때 사용되며 %f는 float형 데이터를 입력받을 때 사용된다. 위는 두 점 사이의 거리를 구하는 코드이다. point 구조체를 생성해주고 메인함수에 각각 xDiff(x점 사이 차이), yDiff(y점 사이 차이)를 넣어주고 점 사이 거리를 double형 데이터 타입으로 넣는다. sqrt는 괄호안 값의 제곱근을 출력해주는 것으로 거리 공식을 대입하면 8이 나오고 제곱근 루트8이 출력된다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으..
2020.08.08