C언어

코딩하는 대학생에서 개발자까지
백준(S5) 4673번: 셀프넘버 (C언어 C11 C99)
코드를 보기전에: 나는 이 문제를 배열을 이용해 쉽게 풀었다. 배열을 0으로 초기화 시킨 뒤에 셀프 넘버 아닌 수에는 -1 저장하면 쉽게 구분할수 있다. 그리고 1, 10, 100, 1000의 자리 숫자 각각의 값을 구하는것도 중요한 문제였다 코드 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include int num[10000]; // 나는 문자열을 이용해 푸는 방법을 생각해봤다. int result(int x); int main() { int res; for (int a = 1; a
백준(S2) 11047번: 동전 0 (C언어 C11 C99)
코드를 보기 전에: 이 문제는 그리디 알고리즘이다. 동전 문제는 그리디 알고리즘의 정말 단골 문제다. 나는 동전 문제를 풀때마다 입력된 값에서 큰 동전부터 빼도록 한다. Fullcode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include int coin[10]; int main() { int n, k; int cnt = 0; scanf("%d %d", &n, &k); for (int a = 0; a 0) // k가 0이 되면 끝나므로 굳이 break문을 만들필요가 없어졌다. { if (coin[a] > k) // 배열 값이 입력한 값보다 크면 다음 배열로 넘어가게 만들었다. a--; else { k -= coin[a]; // 입..
백준(S5) 7568번: 덩치 (C언어 C11 C99)
코드를 보기 전에: 이 문제는 복잡해 보이지만, 쉽게 생각하면 정말 쉬운 문제가 된다. 문제 조건 중에서 몸무게(a>b), 키(a>b)이면, a의 등수가 올라가고, 몸무게(a>b), 키(a
백준(B2) 2231번: 분해합 (C언어 C11 C99)
코드를 보기 전에: 이 문제를 쉽게 풀어볼려고 20분동안 고민을 하다가 그냥 막무가내로 풀었다. 속으로 내가 선택한 노가다다 악으로 깡으로 버티자 하면서 풀었다. 내가 생각하는 이 문제의 핵심 중점은 숫자가 주어졌을때 각 자리수의 숫자를 한개의 자연수로 만드는 것이다. Fullcode 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 28 29 30 31 32 #include int num(int x); int main() { int n; scanf("%d", &n); printf("%d", num(n)); return 0; } int num(int x) { int size, sum; int result = 1000000; i..
백준(S3) 1748번: 수 이어 쓰기 1 (C언어 C11 C99)
코드를 보기 전에: 이 문제는 브루트포스 알고리즘인것같기도 하고, 동적계획법 알고리즘인것같기도 하다. 이 문제를 단순하게 풀었다면 대부분 시간초과가 나왔을 것이다. 컴퓨터는 1초에 1억번의 계산을 할수 있는데, 이 문제에서는 입력의 값이 1억까지 이기때문이다. 공식: 주어진 값 - a + 1을 하면, a (예를들어 100 이면) 세자리 수의 자리수 값을 더한 값이 나온다. Fullcode 1 2 3 4 5 6 7 8 9 10 11 12 #include int main() { int num; long long result = 0; scanf("%d", &num); for (int a = 1; a
백준(S5) 1476번: 날짜 계산 (C언어 C11 C99)
코드를 보기 전에: 이 문제는 브루트포스를 이용해서 푸는 문제다. 브루트포스는 직역하면 무차별 대입이다. 지금까지 풀었던 문제들이 시간을 줄이기 위해 동적계획법이나 반복문등등 사용했다면, 이 문제는 있는 그래도 생각해서 푸는것이다. Fullcode 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 28 29 30 31 32 33 34 35 #include int main() { int e, s, m; int e1 = 1, s1 = 1, m1 = 1; scanf("%d %d %d", &e, &s, &m); if (e == 1 && s == 1 && m == 1) // 1일때 값을 이렇게 정해주지 않으면, 결과값에서 1이 나오는것..
코딩하는_대학생
'C언어' 카테고리의 글 목록 (4 Page)