C언어로 콘솔 지뢰찾기 게임을 구현합니다. 시작-코드-코드분석 순으로 작성되었습니다. 시작 [C프로그래밍 실습] 자료들을 정리하다가 지뢰 찾기 게임 자료를 발견했습니다. 완전히 까먹고 있었는데 새록새록 기억이 나더라고요. 1학년 때에는 반복문조차 이해를 못 하고 울며 겨자 먹기 식으로 코딩을 했었는데요. (지뢰 찾기 게임의 룰도 몰랐어요..) 담당 교수님께서는 과제를 보고서 형식으로 받으셔서 그 때 어떤 생각으로 저런 코드를 작성했는지 알 수 있었습니다. 정말 총체적 난국이더라고요. 난해한 변수명, 쓸데없는 반복문, 자료형 오류까지.. 심지어는 제대로 작동하지도 않았습니다 ㅎ 그래서 저때보다는 성장했다는 마음으로 코드를 완전히 뜯어고쳐 보았습니다. 코드 #include #include #include #..
[C] C프로그래밍 실습 (2) [C] C프로그래밍 실습 (1) 'C 프로그래밍 실습'에서는 1학년 때 C를 배우면서 했던 실습 내용들을 모아 볼 예정입니다. 제가 처음 배웠던 언어는 파이썬이었는데요. 대학을 가서 처음으로 프로그래 munak.tistory.com 위 글에 이어서 작성되었습니다. 함수 함수 선언하기 #include void introduction() { printf("Hi\n"); printf("MY name is Chaitanya\n"); printf("How are you?\n"); } int main(void) { introduction(); return 0; } printf문을 담고 있는 introduction 함수를 실행시키는 프로그램이다. 값을 반환하지 않기 때문에 반환형을 v..
[C] C프로그래밍 실습 (1) 'C 프로그래밍 실습'에서는 1학년 때 C를 배우면서 했던 실습 내용들을 모아 볼 예정입니다. 제가 처음 배웠던 언어는 파이썬이었는데요. 대학을 가서 처음으로 프로그래밍을 배운 저에게 파이썬 munak.tistory.com 위 글에 이어서 작성되었습니다. 조건문과 반복문 짝수 홀수 구별하기 #include int main(void) { int num; printf("정수를 입력하시오: "); scanf("%d", &num); if (num % 2 == 0) // num을 2로 나눈 나머지가 0일 때 printf("%d 는 짝수입니다.", num); else printf("%d 는 홀수입니다.", num); return 0; } 정수를 입력받아 짝수와 홀수로 구별하는 프로그..
2022학년도 텀프로젝트로 진행했던 내용입니다. 1. 배경 및 프로젝트 목표 전면적으로 대면 수업이 진행되면서 캠퍼스가 활기를 되찾고 있다. 그에 따라 공유형 전동킥보드(지쿠터, 씽씽이 등)들을 교내에서 쉽게 볼 수 있게 되었다. 이들은 짧은 거리를 효율적으로 이동할 수 있다는 장점이 있지만, 최근에는 안전 수칙이 잘 지켜지지 않아 위험한 존재로 대두되고 있다. 2021년에 도로교통법 개정으로 전동킥보드 등 개인형 이동장치(PM)에 대한 범칙금 등 규제 강화가 되었지만 잘 지켜지지 않으며, 단속이 어려운 실정이다. 이에 대학교를 중심으로 '교내 통행 금지' 움직임이 불고 있다. 우리 대학 또한 2021년 10월, 구성원들의 안전을 위해 학생처장 명의로 '교내 전동킥보드 통행 금지'를 공지했다. 이에 대학..
[딥러닝 express]의 연습문제 11장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) Google의 colab에서 실행합니다. Google Colaboratory colab.research.google.com 9. FordA 데이터 세트를 이용하여 시계열 데이터를 분류해보자. FordA 데이터 세트에는 3601개의 훈련 샘플과 1320개의 테스트 샘플이 들어있다. 이들 시계열 데이터는 자동차 엔진 센서가 포착한 엔진 소음 측정 값이다. 이 작업의 목표는 엔진에 특정 문제가 있는 자동으로 감지하는 것이다. 이것은 이진 분류 작업으로 볼 수 있다. 시계열 데이터도 단순한 컨벌루션 신경망을 사용하여 분류할 수도 있다. https://keras.io./examples/timeseries/를 참..
[딥러닝 express]의 연습문제 10장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) Google의 colab에서 실행합니다. Google Colaboratory colab.research.google.com 컨볼루션 신경망 (CNN : Convolutional Neural Network) CNN은 앞서 살펴보았던 신경망들과는 다르게 특징맵이라는 여러 개의 층으로 구성되어 있습니다. 각 특징맵은 부분적으로만 연결되어 있으며 데이터의 특징을 추출하는 역할을 합니다. 이러한 구조는 고양이의 시각세포가 움직이는 물체를 볼 때 특정 부분만 활성화되는 현상에서 아이디어를 얻어 고안되었습니다. 특징맵은 컨볼루션과 서브샘플링(풀링)이라는 연산을 반복하며 생성됩니다. 이 과정에서 데이터의 특징이 심층..
[딥러닝 express]의 연습문제 8장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) 11. 이번 장에는 패션 아이템을 신층 신경망으로 분류하는 프로그램이 있다. 패션 아이템을 기본 MLP로 분류하는 프로그램을 작성하고 심층 신경망과 비교하여 보자 성능이 얼마나 높아지는가? import tensorflow as tf from tensorflow import keras # 입력데이터 fashion_mnist = keras.datasets.fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() # 데이터 정규화 train_images = train_images / 255...
'C 프로그래밍 실습'에서는 1학년 때 C를 배우면서 했던 실습 내용들을 모아 볼 예정입니다. 제가 처음 배웠던 언어는 파이썬이었는데요. 대학을 가서 처음으로 프로그래밍을 배운 저에게 파이썬은 너무나 어려운 언어였습니다. 프로그래밍적 사고를 익히게 해준건 다음으로 배운 C언어였죠. 정리를 하면서 의미를 되새겨 보려고 합니다. 기초부터 시작합니다. Hello Wolrd! #include int main(void) { printf("Hello World! \n"); // Hello World 출력 return 0; } 먼저 #iclude를 사용해 studio(standard input output) 헤더 파일을 가져온다. main 함수를 정의한 뒤 printf 함수로 문자열 “Hello World”를 출력한..