본문 바로가기
반응형

분류 전체보기84

[C] 자료형 정리 C언어에는 많은 자료형이 있다. 그 중에서 주로 쓰는 자료형은 거의 몇 개 정해져있지만 상황(큰 범위의 정수를 써야하는 경우라든지)에 따라 활용할 수 있는 자료형이 많기 때문에 모든 자료형을 한 눈에 볼 수 있도록 정리해볼 생각이다. 키워드 자료형 크기포맷형식 short 정수 2 byte%hd int 정수 4 byte%d long 정수 4 byte, (64비트)8 byte%ld long long 정수 8 byte, (64비트)8 byte 이상%lld char 정수(문자) 1 byte%c (문자열)%s float 실수 4 byte%f double 실수 8 byte%lf long double 실수 8 byte 이상%Lf long과 long long은 시스템에 따라 자료형의 크기가 달라진다. long은 32비.. 2018. 7. 18.
[pygame] 교수님 몰래 춤추기 프로젝트 개요 1학년때 학교 미니 프로젝트로 제출한 게임이다. pygame을 이용해 만들었는데, 당시 python을 잘 알기는 했지만 pygame에 대해서는 하나도 몰라서, 마감일 하루 앞두고 친구는 게임에 들어갈 텍스쳐를 그리고 나는 구글링 하면서 함수 파악해가면서 게임을 만들었던 기억이 난다. 그림 그렸던 친구는 지금 군복무를 하고있다는 슬픈 사실.. 게임 설명 첫 화면에서 아무 키나 누르면 게임이 시작된다. 스페이스바를 누르면 신나는 노래와 함께 춤을 출 수 있다. 교수님의 얼굴이 모니터에 가렸을 때는 괜찮지만 교수님이 고개를 들어 우리를 볼 때는 춤을 춰서는 안된다. 학점은 소중하니까. 과제로 간단한 게임을 만들어야 한다면 참고하기 좋은 아이디어이다. 그렇다고 완전히 배끼거나 텍스쳐만 가져가 쓰지.. 2018. 7. 16.
[C] 백준 1371번: 가장 많은 글자 간단한 문제인데 어떻게 입력을 멈출지 생각할 때 뇌정지가 와서 애먹은 문제이다. 아무 입력을 받지 않고 엔터를 누르면 종료조건이 되도록 했다. 알파벳 세는 건 많이 했으므로 설명 생략. 코드 #include #include int main() { char str[5001]; int count[26] = { 0 }; int max = 0; int i; while (gets(str)) { for (i = 0; str[i]; i++) if ('a' 2018. 7. 15.
[C] DIY로 해보는 strcmp string.h에 내장되어있는 함수인 strcmp(str1, str2). 두 개의 문자열의 사전상 순서(크기)를 비교하기 위해 사용된다. 리턴 값이 0보다 작으면 str1이 더 먼저 나오는 것. 리턴 값이 0이면 두 문자열이 같은 것. 리턴 값이 0보다 크면 str2가 먼저 나오는 것이다. 함수 알고리즘 1. 두 문자열을 처음 문자부터 비교한다. 중간에 서로 다른 문자가 나오면 비교해 str1의 문자가 사전상 먼저 나오면 -1, str2가 사전상 먼저 나오면 1을 리턴한다. 2. for문을 빠져나오면 상황은 두 가지이다. 둘 중 하나가 먼저 NULL을 만났거나, 둘 다 같아서 둘 다 NULL을 만난 상태이거나. 여기서 str1이 먼저 끝났으면 -1, str2가 먼저 끝났으면 1을 리턴한다. 길이가 짧으면.. 2018. 7. 14.
[C] 보고 정렬 (bogo sort, stupid sort) 정렬 알고리즘을 찾아보는 도중에 신기한 이름을 봤다. 보고 정렬, 멍청이 정렬.. 무슨 알고리즘이길래 멍청이라는 이름을 붙여줬나 했더니 무려 랜덤으로 데이터를 재배열해서 정렬을 하는 알고리즘이다! 정렬이 될 때까지 랜덤으로 돌리기 때문에 최악의 경우에는 영원히 정렬이 안될 수도 있다! 언제 정렬이 완료될 지는 아무도 모른다. 이름값을 하는 정렬이다. #include #include #include const int MAX_NUM = 10; void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } int isSorted(int *arr, int len) { int i, j; for (i = 0; i < len; i++) { for (j = i + 1;.. 2018. 7. 13.
[C] 버블 정렬 (bubble sort) 가장 짧고 간단한 코드로 나타낼 수 있는 정렬 알고리즘이다. 하지만 이러한 알고리즘이 다 그렇듯 단점은 거의 모든 상황에서 최악의 성능을 보인다는 점이다. 시간 복잡도는 O(n^2)이다. 적은 양의 데이터에서는 굳이 다른 정렬법을 쓰지 않아도 되는 성능을 발휘하지만, 현업에서는 방대한 양의 데이터를 관리하기 떄문에 버블정렬은 웬만해서는 안쓴다고 한다. 버블 정렬은 1번째와 2번째, 2번째와 3번쨰 .... n-1번째와 n번째를 비교하여 정렬하고 그 다음엔 n-2, n-1번째 까지, 그 다음엔 n-3, n-2번째 까지 하나씩 줄여가면서 정렬한다. #include #include #include const int MAX_NUM = 100; void swap(int *a, int *b) { int tmp = .. 2018. 7. 12.
반응형