qq3477
2022.01.29
@qq3477님이
15일차 도전문제
포스트를 좋아합니다.
qq3477
2022.01.29
@qq3477님이
15일차 도전문제
포스트에 댓글을 남겼습니다.
ae15
2022.01.29
@ae15님이
15일차 도전문제
포스트에 댓글을 남겼습니다.
won7288
2022.01.28
@won7288님이
15일차 도전문제
포스트에 댓글을 남겼습니다.
won7288
2022.01.28
@won7288님이
15일차 도전문제
포스트를 좋아합니다.
won7288
2022.01.28
@won7288님이
14일차 도전문제 풀이
포스트에 댓글을 남겼습니다.
won7288
2022.01.28
@won7288님이
14일차 도전문제 풀이
포스트를 좋아합니다.
gotmf6818
2022.01.27
@gotmf6818님이
14일차 도전문제 풀이
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.27
@gotmf6818님이
14일차 도전문제 풀이
포스트를 좋아합니다.
xxheun
2022.01.27
@xxheun님이
14일차 도전문제 풀이
포스트에 댓글을 남겼습니다.
xxheun
2022.01.27
@xxheun님이
14일차 도전문제 풀이
포스트를 좋아합니다.
Wilbur0306
2022.01.27
@Wilbur0306님이
15일차 도전문제
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.27
@Wilbur0306님이
15일차 도전문제
포스트를 좋아합니다.
Wilbur0306
2022.01.27
@Wilbur0306님이
14일차 도전문제 풀이
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.27
@Wilbur0306님이
14일차 도전문제 풀이
포스트를 좋아합니다.
Wilbur0306
2022.01.27
@Wilbur0306님이
13일차 문제풀이
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.27
@Wilbur0306님이
13일차 문제풀이
포스트를 좋아합니다.
kgmi2010
2022.01.27
@kgmi2010님이
13일차 문제풀이
포스트를 좋아합니다.
kgmi2010
2022.01.27
@kgmi2010님이
13일차 문제풀이
포스트에 댓글을 남겼습니다.
won7288
2022.01.26
@won7288님이
13일차 문제풀이
포스트에 댓글을 남겼습니다.
won7288
2022.01.26
@won7288님이
13일차 문제풀이
포스트를 좋아합니다.
gotmf6818
2022.01.26
@gotmf6818님이
12일차 문제풀이
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.26
@gotmf6818님이
12일차 문제풀이
포스트를 좋아합니다.
Wilbur0306
2022.01.26
@Wilbur0306님이
12일차 문제풀이
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.26
@Wilbur0306님이
12일차 문제풀이
포스트를 좋아합니다.
kgmi2010
2022.01.26
@kgmi2010님이
12일차 문제풀이
포스트를 좋아합니다.
kgmi2010
2022.01.26
@kgmi2010님이
12일차 문제풀이
포스트에 댓글을 남겼습니다.
ae15
2022.01.26
@ae15님이
12일차 문제풀이
포스트에 댓글을 남겼습니다.
won7288
2022.01.25
@won7288님이
12일차 문제풀이
포스트에 댓글을 남겼습니다.
won7288
2022.01.25
@won7288님이
12일차 문제풀이
포스트를 좋아합니다.
kgmi2010
2022.01.25
@kgmi2010님이
11일차 문제풀이
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.25
@Wilbur0306님이
11일차 문제풀이
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.25
@Wilbur0306님이
11일차 문제풀이
포스트를 좋아합니다.
won7288
2022.01.25
@won7288님이
11일차 문제풀이
포스트에 댓글을 남겼습니다.
won7288
2022.01.25
@won7288님이
11일차 문제풀이
포스트를 좋아합니다.
gotmf6818
2022.01.24
@gotmf6818님이
11일차 문제풀이
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.24
@gotmf6818님이
11일차 문제풀이
포스트를 좋아합니다.
asak_tofu
2022.01.24
@asak_tofu님이
11일차 문제풀이
포스트에 댓글을 남겼습니다.
asak_tofu
2022.01.24
@asak_tofu님이
11일차 문제풀이
포스트를 좋아합니다.
kgmi2010
2022.01.24
@kgmi2010님이
10일차 문제
포스트를 좋아합니다.
kgmi2010
2022.01.24
@kgmi2010님이
10일차 문제
포스트에 댓글을 남겼습니다.
kovo15
2022.01.24
@kovo15님이 새 포스트를 작성했습니다.
15일차 도전문제
#15. 도전문제 <함수 + 조건문> 오늘은 함수와 조건문을 활용한 문제를 풀어보도록 하겠습니다. ✅ 오늘의 문제 : 소수 출력하기 정수 N을 입력 받고, N 이하의 소수를 배열에 저장하는 함수를 만들어 보세요. 함수는 "void"형으로 선언해주세요. 코드 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void primeNumber(int n, int arr[]); int main() { int arr[100] = { 0, }; int n = 0; int size = sizeof(arr) / sizeof(int); printf("정수를 입력해주세요 : "); scanf("%d", &n); primeNumber(n, arr); for (int i = 0; i < size; i++) { if (arr[i] == 0) { continue; } printf("%d ", arr[i]); } return 0; } void primeNumber(int n, int arr[]) { int idx = 0; int j = 0; for (int i = 1; i <= n; i++) { for (j = 2; j < i; j++) { if (i % j == 0) { break; } } if (j == i) { arr[idx] = j; idx++; } } } 결과 값 소수 출력하기로 15일차 마지막 문제를 마무리 지었다. 아직도 많이 부족해서 개념을 찾아보면서 진행하고는 있지만, 1일차에 작성한 포스트를 보며 많이 발전한 내 모습을 확인 할 수 있었다. 조건문, 반복문, 배열, 함수 등등 여러 개념에 대해 알아보는 시간이었다. 혼자서 어떤 참고 책을 살지, 강의를 들어야 할지 어려웠는데 코린이였던 나를 코딩에 입문 시켜준 코드메이트에 감사하다는 말을 전하고 싶다. 다른 과정도 공부해보면서 코딩의 세계에 입장해야겠다!! C언어 기초문법 완료!!!
kovo15
2022.01.24
@kovo15님이 새 포스트를 작성했습니다.
14일차 도전문제 풀이
#14. 도전문제 <반복문 + 조건문> 오늘은 반복문과 조건문을 이용한 문제를 풀어보도록 하겠습니다. ✅ 오늘의 문제 : 피보나치 수 숫자 n을 입력받아 피보나치 수열의 n번째 숫자를 출력하는 프로그램을 작성해보세요. 조건 1 : 입력받는 숫자 n은 2 이상의 자연수입니다. 조건 2 : n > 2인 피보나치 수에서, n번째 수 = (n - 2)번째 수 + (n - 1)번째 수 입니다. 조건 3 : 피보나치 수열을 나열하면 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 입니다. 코드 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int fibo(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fibo(n - 1) + fibo(n - 2); } } int main() { int n; printf("숫자를 입력해주세요: "); scanf("%d", &n); printf("피보나치 수열의 %d번째 숫자 값은 : ", n); int result = fibo(n); printf("%d", result); return 0; } 결과 값 학창 시절에 배웠던 피보나치 수열을 직접 코딩해보니 새로운 기분 이었다. 공학용 계산기를 직접 제작해 보는 기분도 들었으며, 스스로 코딩을 하며 실전에서 이용했던 이론들을 적용해보니 뿌듯했다. 아직은 많이 부족하지만 차근차근 발전하는 기분이었다. 오늘도 코딩에 두 걸음 다가가며 화이팅!!
kovo15
2022.01.24
@kovo15님이 새 포스트를 작성했습니다.
12일차 문제풀이
✅ 오늘의 문제 : 가장 큰 값 찾기 ✅ 크기가 10인 배열을 입력받은 뒤, 배열 내의 최대값을 구하는 함수를 만들어보세요. ✅ 조건 배열 선언 후, 포인터를 활용하세요 함수는 "void"형으로 선언해주세요 코드 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void max_arr(int* arr, int size, int* a); int main() { int arr[10] = { 0, }; int max = NULL; for (int i = 0; i < 10; i++) { printf("%d번째 값을 입력하세요: ", i + 1); scanf("%d", &arr[i]); } max_arr(arr, sizeof(arr) / sizeof(int), &max); printf("가장 큰 값: %d", max); return 0; } void max_arr(int* arr, int size, int* a) { int max = NULL; for (int i = 0; i < 10; i++) { if (max < arr[i]) { max = arr[i]; } } *a = max; } 결과 값 포인터 관련된 내용이 아직은 잘 이해가 되지 않은 것 같다. 이것 저것 찾아보고 오류 들을 찾아보며 진행했는데, 깔끔한 코딩인지 잘 모르겠다. 다시 한번 코드를 복습하고 연습해봐야 할 것 같다. 오늘도 어제보다 한걸음 코딩에 다가가는 시간이었다. 오늘도 화이팅!!
kovo15
2022.01.24
@kovo15님이 새 포스트를 작성했습니다.
11일차 문제풀이
✅ 오늘의 문제 : 팩토리얼 함수 만들기 ✅ 정수 N을 입력받고, N 팩토리얼을 구하는 int형 함수를 만들고 값을 출력해보세요. N팩토리얼 = N x N-1 x N-2 ... x 2 x 1 코드 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int Factorial(int num); int main() { int n; printf("정수를 입력하세요 : "); scanf_s("%d", &n); if (n < 0) printf("펙토리얼은 0과 음수를 입력 할 수 없습니다."); else { int result = Factorial(n); printf("%d의 팩토리얼(계승) 값 = %d\n", n, result); } return 0; } int Factorial(int num) { int i; int fact = 1; for (i = 1; i <= num; i++) fact *= i; return fact; } 결과 값 팩토리얼에 대해 배워보았는데, 처음 배우는 내용이라 코드를 구현하는데 시간이 오래 걸렸다. 아직도 ; 붙이는 습관이 부족해서 오류가 너무 많이 발생했다. 어제보다 코딩에 한 걸음 다가가며 오늘도 화이팅!!
link553211
2022.01.22
@link553211님이
7일차 문제
포스트에 댓글을 남겼습니다.
link553211
2022.01.22
@link553211님이
7일차 문제
포스트를 좋아합니다.
gotmf6818
2022.01.21
@gotmf6818님이
10일차 문제
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.21
@gotmf6818님이
10일차 문제
포스트를 좋아합니다.
Wilbur0306
2022.01.21
@Wilbur0306님이
10일차 문제
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.21
@Wilbur0306님이
10일차 문제
포스트를 좋아합니다.
Wilbur0306
2022.01.21
@Wilbur0306님이
9일차 문제
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.21
@Wilbur0306님이
9일차 문제
포스트를 좋아합니다.
tpwls1204
2022.01.20
@tpwls1204님이
9일차 포인터 기초이론
포스트를 좋아합니다.
gotmf6818
2022.01.20
@gotmf6818님이
9일차 문제
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.20
@gotmf6818님이
9일차 문제
포스트를 좋아합니다.
kgmi2010
2022.01.20
@kgmi2010님이
8일차 문제
포스트를 좋아합니다.
kgmi2010
2022.01.20
@kgmi2010님이
8일차 문제
포스트에 댓글을 남겼습니다.
won7288
2022.01.19
@won7288님이
8일차 문제
포스트에 댓글을 남겼습니다.
won7288
2022.01.19
@won7288님이
8일차 문제
포스트를 좋아합니다.
gotmf6818
2022.01.19
@gotmf6818님이
8일차 문제
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.19
@gotmf6818님이
8일차 문제
포스트를 좋아합니다.
Wilbur0306
2022.01.19
@Wilbur0306님이
8일차 문제
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.19
@Wilbur0306님이
8일차 문제
포스트를 좋아합니다.
Wilbur0306
2022.01.19
@Wilbur0306님이
7일차 문제
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.19
@Wilbur0306님이
7일차 문제
포스트를 좋아합니다.
tpwls1204
2022.01.19
@tpwls1204님이
7일차 문제
포스트에 댓글을 남겼습니다.
tpwls1204
2022.01.19
@tpwls1204님이
7일차 문제
포스트를 좋아합니다.
kgmi2010
2022.01.19
@kgmi2010님이
7일차 문제
포스트에 댓글을 남겼습니다.
ae15
2022.01.18
@ae15님이
7일차 문제
포스트에 댓글을 남겼습니다.
won7288
2022.01.18
@won7288님이
7일차 문제
포스트에 댓글을 남겼습니다.
won7288
2022.01.18
@won7288님이
7일차 문제
포스트를 좋아합니다.
gotmf6818
2022.01.18
@gotmf6818님이
7일차 문제
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.18
@gotmf6818님이
7일차 문제
포스트를 좋아합니다.
28leeyu28
2022.01.18
@28leeyu28님이
6일차 조건문 이론 정리
포스트를 좋아합니다.
28leeyu28
2022.01.18
@28leeyu28님이
6일차 문제
포스트를 좋아합니다.
28leeyu28
2022.01.18
@28leeyu28님이
7일차 반복문 이론
포스트를 좋아합니다.
28leeyu28
2022.01.18
@28leeyu28님이
7일차 문제
포스트를 좋아합니다.
28leeyu28
2022.01.18
@28leeyu28님이
8일차 배열 이론
포스트를 좋아합니다.
28leeyu28
2022.01.18
@28leeyu28님이
8일차 문제
포스트를 좋아합니다.
Wilbur0306
2022.01.18
@Wilbur0306님이
6일차 문제
포스트에 댓글을 남겼습니다.
Wilbur0306
2022.01.18
@Wilbur0306님이
6일차 문제
포스트를 좋아합니다.
gotmf6818
2022.01.17
@gotmf6818님이
6일차 문제
포스트에 댓글을 남겼습니다.
gotmf6818
2022.01.17
@gotmf6818님이
6일차 문제
포스트를 좋아합니다.
won7288
2022.01.17
@won7288님이
6일차 문제
포스트에 댓글을 남겼습니다.
won7288
2022.01.17
@won7288님이
6일차 문제
포스트를 좋아합니다.
kimbyunsoo
2022.01.04
@kimbyunsoo님이
9일차 포인터 기초이론
포스트를 좋아합니다.
kovo15
2022.01.03
@kovo15님이 새 포스트를 작성했습니다.
9일차 포인터 기초이론
포인터란? 메모리 주소를 저장하기 위해, 사용되는 개념 *기호를 변수 앞에 붙여주면 변수가 포인터의 변수로 지정된다. &a는 a의 주소값을 나타내는 것 실습1 #include <stdio.h> int main() { int a = 10; int *case1= &a; printf("case1의 값 : %p\n",case1); printf("case1이 가리키는 주소 안의 값 : %d",*case1); return 0; } 👉 결과 값 포인터를 통해 값을 변경 해보기 실습2 #include <stdio.h> int main() { int a = 10; int* case2 = &a; printf("a의 값 : %d\n", a); printf("a의 주소값 : %p\n", &a); printf("case2의 값 : %d\n", *case2); printf("case2의 주소값 : %p\n\n", case2); *case2 = 30; printf("a의 값 : %d\n", a); printf("a의 주소값 : %p\n", &a); printf("case2의 값 : %d\n", *case2); printf("case2의 주소값 : %p\n", case2); return 0; } 👉 결과 값 주의사항 포인터는 가급적 선언과 함께 초기화를 하자 굳이 포인터를 선언할 때 초기화를 안 하려면, NULL로 초기화 하자!
kovo15
2022.01.02
@kovo15님이 새 포스트를 작성했습니다.
8일차 배열 이론
배열이란? 변수의 집합 일일이 반복 작업을 하지 않기 위해 배열을 이용한다. 배열을 선언하는 방법 자료형 변수[배열 크기] = {0,}; int num[5] = {1,2,3,4,5}; //실제 값으로 초기화 int num[5] = {0,}; // 0으로 초기화 int num[] = {1,2,3,4,5}; // 배열의 크기가 자동으로 설정됨 배열의 크기 sizeof()이용 구조 -> sizeof(변수명) 실습 1 #include <stdio.h> int main() { int arr[5] = { 0, }; int size = sizeof(arr); printf("arr 배열의 크기 : %d", size); } 👉 결과 값 배열의 크기가 5인데 20이라는 결과 값이 나오는 이유는 무엇일까? sizeof 함수는 배열의 크기가 아닌 변수의 크기를 돌려주기 때문이다. int 자료형의 크기는 4이기에 4*5 = 20의 결과 값이 나오는 것이다. 즉 배열의 크기를 구하려면 변수의 크기로 나누어야 한다. 실습 2 #include <stdio.h> int main() { int arr[5] = { 0, }; int arr_size = sizeof(arr); int int_size = sizeof(int); printf("arr 배열의 크기 : %d", arr_size / int_size); //변수의 크기로 나눔 } 정확한 배열의 크기인 5가 나오는 것을 확인 할 수 있다. 배열의 위치 정보 각각 변수들에 접근하는 방법 scanf("%d",num[i]); 식에서 대괄호와 숫자를 이용해서 접근 구조 -> 배열[원소의 위치] 배열의 인덱스는 0부터 시작한다.(1부터 시작하는게 아니니까 꼭 기억하기) 배열의 초기화 {0,}를 이용해서 초기화를 해준다. 실습 #include <stdio.h> int main() { int arr_a[5]; int arr_b[5] = { 0, }; printf("초기화 x : %d\n", arr_a[0]); printf("초기화 o : %d", arr_b[0]); } 초기화 하지 않은 값과 초기화 한 값을 확인 해보자 👉 결과 값 초기화를 하지 않으면 필요 없는 값들이 들어가 있는 것을 확인할 수 있다. 문자열의 배열 문자열도 배열로 선언 char str[] = "I Love C"; 널(NULL, \0) 문자가 마지막에 꼭 들어간다. 문자열이 끝났음을 알리기 위해서 꼭 필요하다.
kovo15
2022.01.02
@kovo15님이 새 포스트를 작성했습니다.
7일차 반복문 이론
for 문 가장 널리 쓰이는 반복문 구조 -> for(초기식; 조건식; 증감식){ 실행문 } 바로 실습을 진행해 보았다. #include <stdio.h> int main() { for(int i = 0 ; i < 10 ; i++){ printf("숫자 : %d\n",i); } return 0; } 초기식 : int i = 0 조건식 : i<10 증감식 : i++ 👉 결과 값 while문 조건이 참으로 유지되는 동안 반복하는 반복문 구조 -> while(조건){ 실행문 } 바로 실습을 진행해 보았다. #include <stdio.h> int main() { int count = 0; while(1){ printf("count : %d\n",count); count++; if(count == 10){ break; } } return 0; } count를 진행하다가 10이랑 같아지는 시점에서 break를 통해 조건문을 탈출 하게 된다. 👉 결과 값 do-while문 while문과 비슷하지만 실행문을 먼저 본다는 점이 다르다. 구조 do{ 실행문 }while(조건문) #include <stdio.h> int main() { int i = 2, sum = 1; do { sum += 1; i++; } while (i < 1); printf("%d", sum); return 0; } 일단 실행한 후 조건을 보는 조건문! 👉 결과 값
kovo15
2022.01.02
@kovo15님이 새 포스트를 작성했습니다.
조건문 이론 정리
✔if 문 만약 ~~라면? 조건에 따라 코드의 실행을 결정하는 구문 #include <stdio.h> int main() { 등교(출근) 준비; 집을 나왔다; if(지각이라면) {//조건을 지각이라고 설정 택시를 탄다; } else { 버스를 탄다; }//아닌경우 버스를 탄다 설정 } ✔else if 아니면 만약 ~~~ 두번째 조건 추가해주는 함수 #include <stdio.h> int main(){ 등교(출근) 준비; 집을 나왔다; if(지각){//첫번째 조건 택시를 탄다; } else if( 조금 늦었다 ){//두번째 조건 버스를 탄다; } else{ 걸어간다; } } ✔연산자를 이용한 실습 #include <stdio.h> int main() { int a = 8;//a를 8이라고 지정 if(a > 10){ printf("10보다 큽니다"); }//첫번째 조건 : a가 10보다 크면 else if (a > 5){ printf("10보다 작거나 같고 5보다 큽니다"); }//두번째 조건 : a가 5보다 크면 else { printf("5보다도 작습니다"); }//나머지 경우 return 0; } 👉결과 a=8이라서 두 번째 조건에 해당하므로 [10보다 작거나 같고 5보다 큽니다] 출력 완료 ✔switch문 if문의 여러 조건을 제시할 경우 가독성이 떨어지는 부분을 해결하기 위한 함수 int main() { int a; scanf("%d",&a); if(a == 1){ printf("전혀 아니다"); } else if(a==2){ printf("아니다"); } else if(a==3){ printf("보통이다"); } else if(a==4){ printf("그렇다"); } else if(a==5){ printf("매우 그렇다"); } else { // a가 1,2,3,4,5 모두 아니면 잘못 입력된 것이기 때문에 printf("잘못 입력 하셨습니다"); } return 0; } else if를 통해 여러 조건문을 제시 했는데 가독성이 너무 떨어짐 switch문으로 바꿔보았다. #include <stdio.h> int main() { int a; scanf("%d",&a); switch(a){ case 1: printf("전혀 아니다");//a가 1일 경우 break; case 2: printf("아니다");//a가 2일 경우 break; case 3: printf("보통이다");//a가 3일 경우 break; case 4: printf("그렇다");//a가 4일경우 break; case 5: printf("매우 그렇다");//a가 5일경우 break; default: printf("잘못 입력하셨습니다");//위의 조건에 해당하지 않은 경우 break; } return 0; } 좀 더 보기 편해진 것을 확인 할 수 있다. case-break -> 짝궁으로 case를 탈출할 때 break가 필요하다. default -> if문의 else와 같은 것으로 어떤 case에도 해당하지 않은 경우를 의미한다.