분류 전체보기

코딩하는 대학생에서 개발자까지
(C언어)DP Dynamic Programming 설명
다이나믹 프로그래밍은 취업을 할려면 필수로 배워야 하는 함수 같았다. 다이나믹 프로그래밍을 쉽게 말하자면 계산횟수를 줄여주는 함수다. 아직 C언어를 제대로 배우지 못해 코딩을 많이 안해본 분들은 계산 횟수를 왜 줄여줘야 하는지 잘 모른다. 왜냐하면 그들이 만든 코딩은 대부분 숫자가 별로 없기 때문이다. 하지만 for while과 같은 반복문을 사용할때 1부터 1000000까지가 범위이면, 계산횟수가 엄청나게 늘어나서 빌드 할때 엄청 느리게 된다. 지금부터 DP를 설명하겠다. DP를 가장 쉽게 설명할수 있는 방법은 바로 피보나치 수열이다. 보통 피보나치 수열은 밑에 적어놓은것 처럼 코딩한다. function fib(n) if n = 0 return 0 else if n=1 return 1 else retu..
백준(B2) 2743번: 단어 길이 재기 (C언어 C11 C99)
코드를 보기 전에: 이 문제는 단순한 strlen이라는 함수만 알면 쉽게 풀수 있는 문제다. Fullcod 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include int main() { char ahp[102]; int size; scanf("%s", ahp); for (int a = 0; ; a++) { if (ahp[a] == '\0') break; }size = strlen(ahp); // 단어의 길이 printf("%d\n", size); } cs
백준(B2) 10820번: 문자열 분석 (C언어 C11 C99)
코드를 보기 전에: 분명 이 글을 찾아온 사람중의 절반은 EOF를 해결하지 못해서 왔다고 생각이 된다. 반복문에서 EOF이 정상적으로 작동되게 할려면, 조건문의 모든 조건들이 아스키 코드로 나와 있어야 한다. 코드를 보면서 추가 설명 하겠다. *숫자 0과 9 아스키 코드로 표현해야 한다. 0과 9로 표현하면 컴파일 에러. 1 2 3 4 5 6 7 8 9 10 11 for (int b = 0; b = 47 && s[b] = 65 && s[b] = 97 && s[b]
백준(B2) 10808번: 알파벳 개수 (C언어 C11, C99)
코드를 보기 전에: 모든 알파벳에는 아스키코드가 있다. 알파벳을 숫자처럼 더하거나 빼면 그 알파벳의 아스키 코드로 계산한 숫자가 나온다. 이중 반복문을 사용해서 알파벳의 갯수를 계산한다. 1 2 3 4 5 6 7 8 for (int a = 0; a
백준(S4) 1934번 최소공배수 (C11,C99)
코드를 보기 전에: 최소공배수 구하는 방법! -> A X B / A,B의 최대공약수 = A,B의 최소공배수 최대 공약수를 구하는 공식이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 int Max(int a, int b) { int result1 = 0; int min = (a
(정보) 2진수를 10진수로 바꾸는 방법 (C언어, C11,C99)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include int neq(long long abc); int main() { long long a; // 2진수로 입력하므로, int의 범위를 벗어날 수 있어 long long 사용 printf("이진수 입력하시오: "); scanf("%lld", &a); // long long => % lld printf("%lld = %d\n", a, neq(a)); // 10진수가 아니라 8,16진수로 빌드하고 싶으면 %d대신 %o,%x사용. return 0; } int neq(long long abc) { int oac = 0, i = 0, n; while (abc != 0) { n = ab..
코딩하는_대학생
'분류 전체보기' 카테고리의 글 목록 (33 Page)