분류 전체보기 183

직각 삼각형의 삼각비 - 공부하는 도비

직각 삼각형의 삼각비란? 직각이 아닌 각에 대하여 세 변의 길이 중 두 변의 길이 간의 비례관계를 나타내는 값을 의미합니다. 널리 알려진 세 가지 삼각비는 사인(sin), 코사인(cos), 그리고 탄젠트(tan)입니다. 일반적으로 비례관계는 분수로 나타내고, 이들을 예각 A에 대하여 아래에 정의해보았습니다. 예제를 통해서 삼각비를 알아보도록 합시다. 1. △ABC * 답 2. △DEF * 답 3. 아래 삼각형에서, a / c와 같은 것은? * 답

Mathematics 2022.10.07

C언어 행렬 곱셈 - 공부하는 도비

아래와 같은 두 행렬의 곱을 계산해보도록 하자. 우선, 행렬의 곱이 형성되기 위해선, 1번 행렬의 열 개수와 2번 행렬의 행 개수가 동일해야 한다. 예제에서는, mat1 = (2, 3) 행렬, mat2 = (3, 2) 행렬이기 때문에 곱 결과는 (2, 2) 행렬이 만들어지게 된다. 행렬의 자세한 내용은 아래 위키를 참고하면 좋을 거 같다. https://ko.wikipedia.org/wiki/%ED%96%89%EB%A0%AC_%EA%B3%B1%EC%85%88 행렬 곱셈 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 행렬 곱셈을 위해선 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 첫째 행렬의 행 갯수와 둘째 행렬의 열 ko.wiki..

C Programming 2022.10.03

C언어 2차원 배열의 합 - 공부하는 도비

3 X 3 배열이 아래 그림처럼 2차원 배열로 선언되어있고, 이 배열의 합을 구해보려고 한다. 2차원 배열로 각 행렬을 선언을 해주고, 연산 후 값을 result 배열에 넣어주려고 한다. #include int main() { int mat1[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int mat2[3][3] = { {1, 0, 8}, {2, 1, 0}, {5, 7, 2} }; int mat3[3][3] = { {3, 4, 7}, {2, 5, 8}, {1, 3, 5} }; int result[3][3] = {{0}}; } 두 가지 방법이 있다. 1. 단일 for문 for (int i = 0; i < 3; i ++) { result[i][0] = mat1[i][0] ..

C Programming 2022.10.03

C언어 공백 포함 문자열 입력 받기 (scanf, gets) - 공부하는 도비

C를 사용하여 문자열을 입력받을 때, 무심코 공백이 포함된 문장을 입력하다가 엔터나 스페이스바가 입력된 기준으로 그 앞까지만 배열에 저장되는 걸 종종 보게 된다. 이러한 코드를 실행시켜 다음과 같이 입력을 하면, 원하는 결과가 출력되지 않는 걸 확인할 수 있다. 따라서, 우리는 배열에 공백을 포함하여 입력받고 싶을 땐 아래와 같은 2가지 방법을 사용하면 된다. 1. scanf 사용 시 [^\n] 추가 2. gets 함수 사용 gets 함수는 기본적으로 공백을 포함해서 입력을 받는 함수이다. 물론 안정성 때문에 gets 함수 사용이 권장되지는 않으니 1번 방법을 사용하여, 공백을 포함한 문자열을 입력받으시면 됩니다.

C Programming 2022.10.03

C언어 입력한 년도에 따른 달력 출력 - 공부하는 도비

오늘은 입력한 년도에 따른 달력을 출력해보겠습니다. 달력 출력하기를 위해선, 윤년/평년 계산과 1월 1일이 무슨 요일로 시작되는지 알아야 합니다. 코드는 다음과 같습니다. - 함수 LeapYear은 윤년/ 평년 판단 함수입니다. - GetStart는 입력된 년도의 1월 1일이 무슨 요일로 시작되는지 알아내는 함수입니다. - PrintMonth는 달력을 출력하는 함수입니다. #define _CRT_SECURE_NO_WARNINGS #include int LeapYear(int year); void PrintMonth(int check, int start_point); int GetStart(int year); int main() { int input_year; scanf("%d", &input_year);..

C Programming 2022.09.30

visual studio scanf 오류 해결 방법 5가지 - 공부하는 도비

visual studio를 사용하다 보면, 다른 컴파일러에서 잘 사용하던 scanf 함수에 오류가 있다고 하는 경우가 있습니다. 간단하게 저 오류에 대해서 설명하면, scanf 는 안전하지 않은 함수이니 다른 조치를 취하여라..! 요런 뜻입니다. 해결 방법은 총 5가지가 있습니다. 1. scanf_s 사용 가장 간단한 방법으로 scanf에다가 _s 를 추가로 적어주면 됩니다. 하지만, 비쥬얼에서 scanf_s로 작성한 코드르 다른 컴파일러에다가 쓰면 오류가 나니 추천하는 방법은 아닙니다. #include int main() { int a; scanf_s("%d", &a); return 0; } 2. #define _CRT_SECURE_NO_WARNINGS 사용 코드 작성 시 가장 윗부분에 #define ..

C Programming 2022.09.30

Merge Sort - 공부하는 도비

https://en.wikipedia.org/wiki/Merge_sort Merge sort - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Divide and conquer-based sorting algorithm In computer science, merge sort (also commonly spelled as mergesort) is an efficient, general-purpose, and comparison-based sorting algorithm en.wikipedia.org 합병 또는 병합 정렬은 분할 정복 알고리즘 중 하나이다. 자세한 내용은 위의 위키피디아의 정의를 참고하면 될..

Basic IT Knowledge 2022.08.06

Bubble Sort - 공부하는 도비

Oblivious Sort : the sequence of comparisons is independent of the input 버블 정렬은 입력된 데이터와 관계없이(oblivious sort) 입력 시퀀스를 오름차순으로 정렬하는 자료구조이다. n (= 5) 개의 데이터가 들어왔을 때, 정렬 방법은 아래와 같다. * Step 1 * Step 2 * Step 3 * Step 4 (n-1) + (n-2) + ... 1번 수행하기 때문에 총 n (n-1) / 2 번을 수행한다. 따라서, 시간 복잡도 상에선 O(n^2)이 소요된다. (간단히 작성한 파이썬 코드) import random def bubble(start_list): length = len(start_list) for i in range(0, le..

Basic IT Knowledge 2022.08.06

Slideshare에서 PPT(files) 무료로 다운 받기 - 공부하는 도비

오늘은 Slideshare 홈페이지https://www.slideshare.net/ 에서 무료로 파일을 다운로드하는 법에 대해 소개해볼까 한다.  (회원 가입 없이) 그럴 때 사용하는 홈페이지는 아래와 같다.  https://downloader.la/slideshare-downloader.html SlideShare Downloader - Downloader.laDownload Shutterstock photos for free. Download Nowdownloader.la 사용법은 굉장히 간단합니다.우선, Slideshare에서 원하는 ppt를 선택 후, 공유 버튼을 통해 해당 파일의 URL을 가져와야 합니다.  1. 원하는 ppt 검색 2. URL 복사3. https://downloader.la/s..

Basic IT Knowledge 2022.07.22