분류 전체보기

코딩하는 대학생에서 개발자까지
백준(S4) 10773번: 제로 (C언어 C11 C99)
코드를 보기 전에: 이 문제는 Last in First out 스택 문제다. 보통의 사람들은 이 문제를 함수로 풀었지만, 나는 다르게 풀었다. 나는 배열 하나를 추가로 만들어서 풀었다. 예제 문제를 예시로 들자면, 1,3,5,4,0,0,7,0,0,6이란 숫자가 입력됐다. 반복문을 만들어서 입력받은 숫자가 0이 아니면 다른 배열에 추가시키도록 했다. 1 3 5 4 1 2 3 4 5 6 7 for (int a = 0; a
백준(S4) 1026번: 보물 (C언어 C11 C99)
코드를 보기전에: 이 문제는 정말 심술궂은 그리디 알고리즘 문제다. 코드만 무책임하게 올려놓으면 이해하지말고 답이나 봐 이렇게 버릇없어 보이기 때문에 하나 하나씩 설명하겠다. 입력 :첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 이렇게 문제를 보고 알아야 하는것들이 있다. 1. N은 50보다 작거나 같은 자연수이다. 2. A와 B각 원소는 100보다 작거나 같은 음이 아닌 정수다. 이렇게 두가지는 꼭 알아야한다. 문제를 보면 B의 수를 재배열 하지말고 A의 수를 재배열해서 최솟값을 출력하라고 한다. 문제를 보자마자 내..
C언어 선택정렬 정리 (C언어 C11 C99)
선택 정렬의 개념: 가장 작은 것을 골라서 맨 앞으로 보내는 알고리즘 1부터 10까지의 숫자가 저장된 배열을 오름차순으로 출력하는 문제를 풀면서 선택 정렬을 설명하겠다. 먼저 소스코드이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include int main() { int i, j, min, index, temp; int array[10] = { 2,4,6,8,9,7,5,3,1,10 }; for (i = 0; i
(C언어) 문자열 함수의 모든 것
1. 문자 입출력 함수 문자 입출력 함수는 함수 반환형이 int형이다. 그러므로 문자도 정수로 저장된다. int형으로 하는 이유는 EOF(end of file) 문자를 체크하기 위해서이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 #include int main() { int ch; while (1) { ch = getchar(); if (ch == EOF) break; putchar(ch); } return 0; } cs 2. 문자열 입출력 함수 띄어쓰기가 포함된 한 줄을 받고 싶을 때는 gets()를 사용해야 한다. 출력할 때는 puts()를 사용하면 된다. 1 2 3 4 5 6 7 8 9 #include int main() { char address[100]; printf("주소를 입력..
백준(S5) 1427번: 소트인사이드 (C언어 C11 C99)
코드를 보기 전에: 많은 사람들이 수를 입력 받았을때 각 자리를 어떻게 구하는지 고민을 할것이다. 일일이 나누기 그리고 나머지를 구하면서 각 자리를 구할수도 있지만, 1,000,000,000은 그렇게 하기는 너무 큰 수이다. 그러므로 문자열로 입력받는것도 방법이라고 알려주고 싶다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include #include int main() { char num[11] = { 0, }; // 최대가 1,000,000,000이므로, 문자열의 크기를 11로 잡았다. scanf("%s", num); // 문자열은 입력받을때 &을 적지 않아도 된다. int size = strlen(num); int ..
C언어 카운팅 정렬 단순정리 & 백준(S5) 수 정렬하기 (C언어 C11 C99)
정렬 알고리즘 중 가장 빠른 정렬. 정렬 함수의 속도는 O(N)이다. 지금까지 다른 함수들은 데이터를 위치를 바꿔가며 정렬했지만, 정렬 함수는 데이터의 크기를 기준으로 개수만 세면 되기 때문에 다른 정렬들보다 시간을 많이 아낄 수 있다. 1 2 3 4 5 6 7 8 9 for (int a = 0; a max) { max = numbers; } countings[numbers - 1]++; } cs 이렇게 입력을 하면서 바로 데이터의 크기를 기준으로 갯수를 셀 수 있다. 개수를 센 다음에는 밑에 나와있는 코딩처럼 데이터 크기를 저장한 배열을 출력하면 된다. 1 2 3 4 5 6 7 8 for (int a = 0; a
코딩하는_대학생
'분류 전체보기' 카테고리의 글 목록 (30 Page)