반응형 전체 글58 [C 언어] 2. Hello, world! 출력하기 안녕하세요! 이번 글은 저번에 깔았던 Visual Studio로 Hello, world! 를 한번 출력 해볼겁니다. 시작하기에 앞서 새 프로젝트를 만들어야합니다. 아래 그림들의 빨간 네모 상자들을 따라 해주세요 @@주의!!@@ 저 검사라고 좋은게 아닙니다. SDL을 체크하면 나중에 결과가 안나올수도!?!? 위 그림에 있는 대로 다 써주세요 정상적으로 따라하고 CTRL + F5 를 누르면 짜라잔 하고 위에 그림처럼 나옵니다. 근데 이렇게 끝내면 굉장히 언짢을 겁니다. 우리가 썼던 게 뭔지 모르니까요. 그러니까 설명하겠습니다. 일단 먼저 printf("Hello, world!\n"); 보면 printf 가 Hello, world! 를 출력 한다는 걸 알 수 있습니다. printf 는 문자열을 출력 하는 함수.. 2024. 4. 14. [C 언어] 1. Visual studio 설치하기 넵 안녕하세요. C언어를 배우기 앞서 컴파일러를 설치할건데요. 많은 컴파일러가 있는데, 저는 Visual studio를 쓰기 때문에 이거 설치방법을 쓰겠습니다. https://visualstudio.microsoft.com/ko/ 여기로 들어가서 빨간 네모를 클릭합시다. 다 다운 받으시고 실행하시면 C 언어만 할거면 빨간 네모만 클릭합니다. (다른것도 하실거면 더 체크 해도 되는데 설치시간이 어마어마 할겁니다 ㅎㅎ) 킵 고잉 로그인 하셔도 되고 그냥 넘어가도 됩니다. 색 테마는 하고 싶은거 하세여 이러면 끝입니다! 간단해여 다음에는 프로젝트 생성이랑 Hello, world!를 출력해 볼게요. 다음 시간에 계ㅔㅔㅔ속// 2024. 4. 14. [자료구조] (Stack)스택이 뭐여 먹는겨? 안녕하세요 이번 포스팅은 자료구조 스택에 대하여 알아보겠습니다. 스택은 일단 쌓다라는 뜻인데요. 탑처럼 데이터를 쌓는 것을 상상하시면 좋습니다. 스택은 가장 먼저 입력된 데이터가 맨 아래 쌓이고 가장 최근에 입력된 데이터는 가장 위에 쌓이는 구조를 가지고 있어요. 이 구조를 LIFO(Last In, Final Out) 이라고 합니다. 그래서 항상 스택의 입출력은 맨 위에서만 일어납니다. 이 부분 즉 스택의 맨 위를 스택 상단(stack top) 이라고 합니다. 반대로 스택의 맨 밑바닥 부분은 스택 하단(stack bottom) 이라고 합니다. 이 각각의 스택에 저장되는 데이터를 요소(elements)라고 합니다. 여기서 삽인 연산(push) 와 삭제 연산(pop)이 일어납니다. 삽입 연산(push)는 스.. 2024. 4. 14. [자료구조] KMP(Knuth-Morris-Pratt) Algorithm KMP 알고리즘은 문자열 내에서 특정 패턴을 엄청나게 빠르게 찾아주는 알고리즘입니다. 해당 패턴의 위치를 빠르게 알 수 있지요. KMP알고리즘은 이전 포스팅의 마지막에 다루었던 패턴을 찾는 방법처럼 스트링과 패턴의 불일치가 발생했을 때 최대한 중복된 연산을 피하면서 문자열과 비교할 수 있도록 합니다. 이렇게 하기 위해서는 먼저 얼마나 중복연산을 피할것인지 판단하기 위한 값들이 필요합니다. 이를 failture function이라고 한다. failure function은 패턴문자열의 접두사와 접미사의 일치하는 부분을 계산하고 이를 fail 배열에 저장합니다. fail 배열의 첫 번째 인덱스의 값은 -1로 설정합니다. 인덱스의 의미는 현재 패턴의 문자가 패턴의 첫문자부터 #번째 문자까지 일치한다는 것을 말합.. 2024. 4. 14. [자료구조] 문자열(Strings) 문자열이란 한정된 순서를 가진 크기가 0이상인 문자들의 집합을 말합니다. C에서는 배열을 통해서 문자열을 나타낼 수 있습니다. #define MAX_SIZE 100 char s[MAX_SIZE] = "dog"; char t[MAX_SIZE] = "house"; 또한 선언할 때에는 다음과 같이 선언할 수도 있습니다. char s[] = "dog"; char t[] = "house"; 이때에는 문자의 개수+1개 만큼 크기가 자동으로 할당 됩니다. 하지만 다음과 같이 선언할 수 없습니다. char u[]; //compile error 배열을 초기화하지도 않고, 크기도 정해주지 않는다면 컴파일 에러가 발생합니다. 이번에는 strcat 함수를 이용하여 문자열에 대해 더 알아보겠습니다. #include #inclu.. 2024. 4. 14. [자료구조] 희소 행렬 (Sparse Matrix) Sparse Matrix는 행렬의 대부분의 요소가 0인 행렬입니다. 이와 반대로 0이 대부분이 아니라면 Dense Maxtrix라고 합니다. 다음과 같이 행렬에 수많은 0이 보이는 것을 알 수 있는데 이를 Sparse Matrix라고 합니다. 만약 행렬의 크기가 엄청나게 큰 상황이라면 엄청난 공간낭비가 따라올 수 밖에 없습니다. Sparse Matrix의 표현은 다음과 같이 합니다. 행,열,값으로 특정할 수 있다. 행이 오름차순이 되도록하며, 행이 동일하면 열이 오름차순이 되도록한다. 작업이 종료되면 행의 개수, 열의 개수, 0이 아닌 값의 개수를 알도록 한다. 따라서 위의 그림을 다시 나타낸다면 다음과 같이 나타낼 수 있습니다. a[0]에는 행의 개수, 열의 개수, 0이 아닌 값들의 총 개수가 들어갑니.. 2024. 4. 7. 이전 1 ··· 4 5 6 7 8 9 10 다음 반응형