본문 바로가기
728x90

HOOAI709

[Computer Vision] R-CNN vs Fast R-CNN vs YOLO R-CNN vs Fast R-CNN vs YOLO 포스트 난이도: HOO_Senior # Object detection algorithms 현재 기준으로 Object detection의 세 가지 주요 알고리즘을 뽑으라고 한다면 R-CNN, Fast R-CNN 그리고 YOLO를 말할 수 있다. 사실상 Object detection에 있어서 가장 많이 사용되고 있으며 그중에서도 개인적으로 가장 선호하는 YOLO의 경우는 v8 버전이 새롭게 나오면서 그동안의 문제점으로 이야기해 온 작은 사이즈의 그리드 구분이 점차적으로 해결되고 있다. 그럼에도 우리는 Object detection을 다룰 때 세 가지 알고리즘을 모두 다 고려하여 머신러닝을 돌리고 있다. 그 이유인즉슨 각 알고리즘의 장단점이 각기 다르기 때문이.. 2023. 10. 31.
[C Examples] Recursive power function: 제곱근 계산기 Recursive power function: 제곱근 계산기 포스트 난이도: HOO_Intern # subTitle 이번 포스트에서는 반복문을 사용하지 않고 Recursive를 활용해서 제곱근을 계산해 주는 power function에 대한 예제를 살펴볼 수 있다. 아래의 예제코드를 보면 float type의 power라는 사용자 정의 함수가 작성이 되어 있는 걸 알 수 있다. 해당 블록을 살펴보면 if statement를 사용하여 반복할 조건과 아닐 조건을 설정해 줄 수 있다. 아래의 코드에서는 exponent가 0으로 더 이상 없을 경우 끝이 나고 else문에서는 exponent가 1씩 줄어들면서 base 값에 곱해지는 반복적인 recrusive case를 살펴볼 수 있다. 이처럼 자주 사용하는 기능.. 2023. 10. 30.
[Error Codes] IndentationError: unexpected indent IndentationError: unexpected indent # IndentationError: unexpected indent Indentation error의 경우는 파이썬에서 종종 나타나는 에러로써 들여 쓰기를 잘못해서 나타나는 간단하지만 짜증 나는 에러이다. 파이썬은 다른 프로그래밍 언어들처럼 브래킷이라고 불리는 괄호를 함수마다 사용하지 않고 있기 때문에 들여 쓰기가 그 역할을 대신해주고 있다. 편리한 반면에 가끔씩 들여 쓰기가 잘못되어 있을 때 긴 코드를 하나하나 살펴야 돼서 귀찮기도 하다. 그래도 신경을 많이 써야 하는 에러와 달리 들여 쓰기만 고쳐주면 되기 때문에 간단하게 수정이 가능하다. 아래의 Figure 1을 보면 들여 쓰기 에러가 어떻게 나타나는지 알 수 있다. 해당 라인의 코드의.. 2023. 10. 29.
[Computer Vision] Data Augmentation (데이터 증강) Data Augmentation (데이터 증강) 포스트 난이도: HOO_Senior # Data augmentation이란 무엇인가요? 한국말로 데이터 증강이라고 불리는 Data augmentation은 쉽게 말해서 부족한 데이터 수를 반강제적으로 늘려주는 역할을 의미한다. 우리가 일반적으로 테스트 데이터가 부족하면 학습데이터에서 가져오지만 학습 데이터 자체가 부족해지면 결국 데이터를 더 수집하고 가공해줘야 한다. 이럴 때 데이터를 새롭게 수집하는 게 가장 기본적인 방법이지만 현실적으로 원시 데이터의 추가적인 수집과 가공 과정 자체가 어려울 수 있다. 이런 경우 우리는 Data augmentation 통해 데이터의 수를 마치 원래부터 많았던 것처럼 늘려주는 것이다. Data augmentation를 반강.. 2023. 10. 28.
[Data Science] 엑셀에서 데이터 분석하기 (Data Analysis on Excel) 엑셀에서 데이터 분석하기 (Data Analysis on Excel) 포스트 난이도: HOO_Middle # Data analysis 글쓴이 이전 세대의 데이터 분석가라면 당연히 엑셀을 다룰 줄 알아야 했고 엑셀만 잘 다뤄도 6 digits 연봉을 받을 수 있었다. 지금도 엑셀로 간단한 데이터 분석과 통계 작업이 가능하지만 워낙 파이썬이나 R과 같이 작업할 수 있는 방법들이 다양해지고 편리하게 제공되다 보니 엑셀이 점점 등한시되고 있다. 그럼에도 데이터를 다루는 데이터 관련 개발자뿐만 아니라 모델링을 하는 엔지니어라면 엑셀 데이터 분석 기능 정도는 기본적으로 잘 다룰 수 있어야 한다. 이 포스트를 읽는 브로들의 경우에는 이미 데이터 사이언스 분야에 대한 지식이 있다는 가정하에 기능적인 방법에 대해서만 간.. 2023. 10. 26.
[Computer Vision] 공개형 학습 데이터셋: 로보플로우 (Roboflow) 퍼블릭 학습 데이터셋: 로보플로우 (Roboflow) 포스트 난이도: HOO_Middle # 로보플로우(Roboflow) 욜로 (YOLO)를 다뤄본 적이 있는 브로라면 로보플로우 (Roboflow)에 대해서 많이 들어봤을 것이고 실제로 기본 예제로 제공해 주는 coco 라이브러리라든지 로보플로우에서 공개되어 있는 데이터셋을 사용해 본 적이 있을 것이다. 로보플로우는 컴퓨터 비전(Computer vision)의 개발과 데이터의 관리에 있어서 편리성을 제공해 주는 도구이자 하나의 데이터셋 플랫폼이다. 이미지 데이터 작업을 하는 데 있어서 기본적인 데이터셋을 제공해 줄 뿐만 아니라 라벨링 작업을 하는 것도 아이콘화된 도구들을 활용해서 쉽게 데이터 가공이 가능하다. 무엇보다 글쓴이가 좋아하는 부분은 사용할 개발.. 2023. 10. 25.
[Q&A] 유학을 가지 않고 미국 개발자 취업이 가능할까요? 유학을 가지 않고 미국 개발자 취업이 가능할까요? # 한국 학부생의 미국 개발자 취업 CS, CE 전공자이면서 미국 개발자로 취업을 희망하는 브로들이 많이 하는 고민 중 하나가 유학이다. 이미 한국 대학교에서 학부생으로서 지내고 있으면서 편입 유학이나 아니면 신입학을 조건으로 유학을 알아보다가도 두려움과 걱정에 고민을 하고 있었다. 왜냐하면 국내 학부 졸업에 비해서 미국에서 개발자로 취업하기가 미국 대학교 졸업을 하는 것으 유리하다는 걸 알고 있지만 막상 그만큼의 시간과 돈, 노력을 등을 투자해야 한다는 것이 결정하는데 쉽지 않기 때문이다. 그렇다 보니 미국 개발자를 꿈꾸는 국내 학부 졸업생 브로들이 가장 많이 하는 질문 중에 하나가 미국 대학교를 나오지 않고도 미국 개발자로 취업이 될 수 있냐는 것이었.. 2023. 10. 22.
[카카오 같이가치] 민영이의 꿈을 응원합니다! 민영이의 꿈을 응원합니다! # 카카오 같이 가치 안녕하세요, HOOAI 블로그를 운영하고 있는 HOO입니다. 정기적으로 청소년들의 꿈을 위해서 작은 도움이라도 주고자 블로그 운영과 더불어 카카오 같이가치를 시작하게 되었습니다. 선순환 구조를 만들고자 광고 배너 수입을 기부로 이어지게 하는게 목표였지만 제 역량 부족으로 광고 배너 수입이 많지 않다보니, 정기적 기부가 어려워 안타까울 따름입니다. 그래서 광고 수입이 부족할 경우 사비를 통해서 적은 돈이지만 카카오 같이가치를 지속적으로 해보려고 노력하고 있습니다. 청소년 친구들에게는 많은 돈을 보태주지 못해 미안하지만 도움이 되기를 바랄 뿐입니다. 여러분도 관심이 있다면 아래의 링크를 통해 민영이를 도와줄 수 있습니다. 감사합니다. https://togeth.. 2023. 10. 20.
[미국 박사] 연구 제안서 (Research Proposals)에 꼭 들어가야하는 요소들 연구 제안서 (Research Proposals)에 꼭 들어가야 하는 요소들 # 연구 제안서 (Research Proposals) Research proposals이라고 부르는 연구 제안서 또는 프로포절은 박사생들이라면 한번 정도는 꼭 써보게 된다. 왜냐하면 본인 졸업 연구 논문에 해당하는 제안서를 작성하기 때문이다. 이 외에도 교수님이나 다른 박사생들과의 연구를 하다 보면 연구 제안서를 작성하는 경우가 종종 있다. 그렇다 보니 미국 박사를 하기 희망한다면 기본적으로 제안서를 어떻게 작성해야 하는지를 알고 있어야 한다. 이번 포스트에서는 졸업 연구 논문 제안서에 대한 가이드라인이라기보다는 기본적으로 연구 제안서를 작성하는 데 무엇이 필요한 지에 대해서 이야기를 나눠볼까 한다. 연구 제안서 중에서도 1~2.. 2023. 10. 17.
[HOOTips] 멘토링 문의는 여기에 해주세요. 멘토링 문의는 여기에 해주세요. # 질문은 댓글로 남겨주시거나 디스코드로 연락 주세요 포스트와 관련된 질문의 경우에는 각 포스트마다 댓글 작성이 가능하지만 이 외의 질문 사항이 있을 경우 소통이 어렵다는 이야기가 나와 별도로 소통할 수 있는 포스트를 작성하게 되었습니다. 해당 포스트는 포스트 외 적으로 질문이나 이야기를 나누고 싶은 부분이 있다면 댓글로 작성해 주시면 감사하겠습니다. 댓글은 비밀댓글로 작성이 가능하며, 확인한 댓글은 주기적으로 삭제됩니다. 추가적으로 궁금한 사항이 있거나 질문하실 내용이 길다고 생각하신다면 이 포스트 하단에 비밀 댓글로 디스코드 아이디를 알려주시면 감사하겠습니다. 이후에 제가 댓글로 제 디스코드 계정을 공유하거나 디스코드를 통해서 연락을 드리도록 하겠습니다. 또한 디스코드.. 2023. 10. 14.
[AI & ML Examples] Computer Vision Calibration: Normalized Points 예제코드 Computer Vision Calibration: Normalized Points 예제코드 포스트 난이도: HOO_Senior # Example Code 이번 포스트에서는 Computer vision에서 Normalized points에 대한 값을 구하기 위해서 Calibration이 어떻게 이루어지는지 살펴볼 수 있다. 아래의 예제코드를 보면 2 dimensional과 3 dimensional에 해당하는 포인트 값들이 homogeneous과정을 거치고 svd를 통해서 Normalized point에 대한 "M" 값이 구해지는 과정을 볼 수 있다. 여기서 꼭 svd function 말고도 lstsq () funciton을 사용해서도 Normalized 된 M을 산출해 낼 수 있다. 또한 산출된 resi.. 2023. 10. 13.
[C++ Example] 포인터(Pointer)를 활용한 간단한 배열 값의 증가 예제코드 포인터(Pointer)를 활용한 간단한 배열 값의 증가 예제코드 포스트 난이도: HOO_Intern # Example Code 이번 포스트에서는 포인터의 가장 기본적인 기능을 활용하여 배열의 elements들이 증가하는 것을 살펴볼 수 있다. 우선 void function을 사용해서 addNum()과 display()라는 기능을 만들어준다. addNum은 배열 안의 값, 즉 원소들을 증가시켜 주는 역할을 수행하고 display() 기능에서는 포인터를 활용해서 변화된 배열 원소들을 출력해 주는 역할을 수행한다. 여기서 addNum을 통해서 배열 안의 원소 값을 증가시킬 수 있는 범위를 지정할 수 있고 display()에서는 원하는 배열 원소까지 만을 출력할 수 있도록 설정이 가능하다. Figure1의 첫번.. 2023. 10. 13.
[C Examples] Stack push(), pop()을 활용해서 stack overflow와 underflow을 살펴보는 예제코드 Stack push(), pop()을 활용해서 stack overflow와 underflow을 살펴보는 예제코드 포스트 난이도: HOO_Junior # Example Code 이번 포스트에서는 push()와 pop() 기능들을 살펴보면서 Stack에 대해서 복습해 볼 수 있다. 이전 예제코드에서 다뤘던 Struct, 구조체와 더불어 이번 코드에서는 Stack에서 사용되는 기본적인 기능들을 통해서 Stack의 overflow와 underflow가 어떻게 이루어지는 지를 살펴볼 수 있다. 코드가 점차적으로 길어지고 기능들을 추가되다 보니, 어려울 수도 있겠지만 나눠서 살펴보면 이해하기가 훨씬 수월하다. 각 기능들이 어떻게 작동하고 해당 예제코드에서 어떤 역할을 수행하는지를 우선적으로 이해해 보는 게 좋다. .. 2023. 10. 13.
[Data Science] 데이터 캘리브레이션 (Data Calibration) 데이터 캘리브레이션 (Data Calibration) 포스트 난이도: HOO_Middle # Data calibration 데이터 교정이라고도 불리는 Data calibration은 데이터를 다루는 대부분의 분야에서 한번 정도는 들어본 적이 있을 것이다. 캘리브레이션에 대한 의미를 찾아보면 "교정"이라는 뜻을 가지고 있고 하드웨어 쪽에서는 오차를 교정하는 과정을 캘리브레이션이라고 부르기도 한다. 데이터 사이언스 (Data science)에서도 결과를 교정한다는 점에서 비슷한 의미를 가졌지만 사실상 "표준화"에 더 가까운 의미를 가지고 있는 것이 데이터 사이언스에서의 캘리브레이션이다. 따라서 데이터 사이언티스트에게는 데이터를 어떻게 캘리브레이션에서 표준화하여 생성 및 수집해 내는지도 정말 중요한 요소 중에.. 2023. 10. 12.
[C Examples] Struct를 활용하여 특정 위치의 값을 출력하거나 출력하는 순서를 바꿔보기 Struct를 활용하여 특정 위치의 값을 출력하거나 출력하는 순서를 바꿔보기 포스트 난이도: HOO_Junior # Example codes C언어에서 구조체라고 부르는 Struct은 Pointer와 함께 사용되는 편리한 기능 중 하나이다. 아마 C언어를 배우기 전에 다른 프로그래밍 언어를 배워본 적이 없거나 이제 막 전공자로서 공부를 시작했다면, 이 부분을 익히는 게 다소 어렵게 느껴질 수 있다. 하지만 모든 프로그래밍 언어가 그렇듯이 사람을 위한 언어이다 보니, 기계어를 익히는 것보다 훨씬 쉽다고 긍정적으로 생각하면서 차근차근 보면 생각보다 어렵지 않은 개념이다. Struct은 마치 글에서 "서식"과 비슷한 역할을 수행하는데, 반복적으로 사용되는 구조를 특정화하여 매번 선언하고 정의할 필요없이 쉽게 .. 2023. 10. 11.
[AI / Computer Vision] Singular Value Decomposition (SVD) Singular Value Decomposition (SVD) 포스트 난이도: HOO_Middle # Computer vision에서의 SVD Computer vision에서의 Singular Value Decomposition (SVD)는 결과를 산출해 내기 위한 기본적인 매트릭스 계산 방법이다. 눈으로 보이는 물체를 우리는 이미지나 영상으로 담아냈고 이것을 컴퓨터가 분석하거나 인지하게 만들기 위해서는 픽셀 단위로 살펴봐야 한다. 이때 엄청난 픽셀의 수를 계산하고 분석하는 데 있어 간단하게 만들어줄 수 있는 아주 기초적인 방법이 바로 SVD인 셈이다. 그래서 우리는 SVD를 통해서 Data reduction, Fast fourier transform, Tailored에서 발생되는 특정 문제들을 해결할 .. 2023. 10. 9.
[C++] .h와 .hpp 중에 어떤 것을 사용해야할까요? (.h와 .hpp 차이점) . h와 .hpp 중에 어떤 것을 사용해야 할까요? (. h와 .hpp 차이점) 포스트 난이도: HOO_Intern # C++ 헤더 파일 거두절미하고 C++ 헤더파일 확장자명으로 .h와 .hpp 중에 고민하고 있다면 둘 다 사용해도 문제없다. 글쓴이도 실제로 둘 다 사용하고 있으며, 실제로 공부를 하거나 실무에서도 C++기반임에도. h를 사용하는 경우가 많다. 그럼에도 굳이 .hpp가 존재하고 C++ 헤더파일로 사용하는 이유는 크게 2가지가 있다. #ifndef MY_HEADER_HPP #define MY_HEADER_HPP // Class declaration class MyClass { public: MyClass(int initialValue); void printValue() const; int .. 2023. 10. 3.
[C Examples] struct과 pointer를 활용한 선수별 점수 출력하기 struct과 pointer를 활용한 선수별 점수 출력하기 포스트 난이도: HOO_Intern # Example codes 이번 포스트에서는 struct과 pointer를 활용하여 선수별 점수를 출력하는 예제코드를 살펴볼 수 있다. 아래의 예제코드를 살펴보면 struct과 더불어 각 선수의 아이디를 입력받아 저장하는데, 이 과정에서 포인터를 활용하여 데이터가 저장되는 걸 알 수 있다. 여기서 추가적으로 아이디를 입력했을 때 중복 여부를 확인할 수 있는 조건 블록을 작성해 줄 수도 있다. 포인터를 확실히 익혀야 다음 단계로 넘어갈 수 있기 때문에 아래의 예제코드를 통해서 포인터와 struct 사용에 대해서 확실히 이해하고 넘어가도록 하자. #include // Define the Player structu.. 2023. 10. 2.
[C Examples] struct을 활용한 영화 정보 출력하기 struct을 활용한 영화 정보 출력하기 포스트 난이도: HOO_Intern # Example codes 이번 포스트에서는 C에서 struct을 어떻게 사용할 수 있는지를 살펴볼 수 있다. 아래의 예제코드는 간략한 영화 데이터를 struct을 활용해서 저장하고 출력해내고 있다. 영화 정부에 들어가 데이터의 경우 동일한 type들을 가지고 있기 때문에 struct을 통해서 타입을 설정해 준 다음 MovieData라는 struct에 저장되어 있는 방식을 movie1과 movie2에서 사용하고 있다. 여기서 struct은 어렵게 생각할 필요없이 마치 글을 작성하는 데 있어서 정해진 양식을 저장해 준 다음에 불러서 반복적으로 사용하는 거와 비슷하다고 생각하면 된다. 그래서 우리는 한국말로 struct을 "구조체.. 2023. 10. 2.
[Python Examples] Energy Flows: Compartments and Rate Coefficients Energy Flows: Compartments and Rate Coefficients 포스트 난이도: HOO_Junior # Example Codes 이번 예제코드는 Energy flow를 살펴볼 수 있는 간단한 시뮬레이션 코드이다. N1부터 N5까지의 시뮬레이션 결과를 아래 예제코드를 통해서 확인할 수 있다. Rate coefficients 값들이 초기값으로 설정되어 있으며 Euler를 통해서 결과를 산출해 냈다. import numpy as np import matplotlib.pyplot as plt # Initial compartment sizes N1 = 2635 N2 = 213 N3 = 62 N4 = 9 N5 = 25 # Rate coefficients u51 = 1.310 u52 = 5.1.. 2023. 9. 29.
[Python Examples] Simple Age-class Simulation Simple Age-class Simulation 포스트 난이도: HOO_Junior # Example Codes 이번 포스트에서는 Simple Age-class Simulation를 통해서 timestep별 population 변화량을 살펴볼 수 있다. 아래의 예제를 토대로 경우의 수들을 붙여나가다가 보면 실제로 사용하는 모델링 시스템처럼 복잡한 나만의 시뮬레이션 모델을 만들어볼 수 있다. HOO_Junior의 포스트를 읽고 있는 브로라면, 이제는 코드 작성에서 벗어나 만들고자 하는 프로그래밍의 빠른 분석과 머릿속으로 구조화하는 연습을 해보는 것이 좋다. 많은 예제들을 더 살펴보면서 익혀나간다면 나중에는 머릿속으로 바로바로 그려지게 된다. 다만 연인에게는 "로봇 같다"라는 말을 들을 수 있기에 유의해야.. 2023. 9. 29.
[Python Examples] Simple Predator/Prey Modeling (먹이사슬 모델링) Simple Predator/Prey Modeling (먹이사슬 모델링) 포스트 난이도: HOO_Middle # Example Codes 생물뿐만 아니라 관계성이 있는 모델링을 할 때 주로 고려하는 모델링 방식 중 하나가 바로 Predator/Prey modeling이다. 상관관계가 있다면 활용이 가능하고 경우에 따라서 수를 늘려나갈 수도 있기 때문에 모델링 개발에 있어서 용이하다. 이번 포스트에서는 간단한 먹이사슬 모델링을 파이썬 코드로 살펴보도록 하자. 이번 예제코드는 간단한 예시이기에 Euler와 Lotka-Volterra model를 통해서 표현해 보았다. import numpy as np import matplotlib.pyplot as plt # Constants r = 0.1 # Prey r.. 2023. 9. 29.
[Python Examples] 문자열 거꾸로 출력하기: #for loop, #def, if statement 문자열 거꾸로 출력하기: #for loop, #def, if statement 포스트 난이도: HOO_Junior # Exmple codes 이번 포스트에서는 문자열을 거꾸로 출력해 보는 파이썬 예제코드를 살펴보려고 한다. 한마디로 문자열로 저장되어 있는 문장을 반대 순서로 출력이 되도록 만들어주는 셈이다. 아마 거꾸로 출력되는 문자열 예제는 프로그래밍 수업에서 웬만하면 많이 다루다 보니 이미 많은 브로들이 알고 있을 수도 있다. 그래서 한 가지 더 추가해서 특정 문자열만 출력이 되도록 하는 조건을 추가해 보았다. 이게 무슨 소리냐면, "/0"이라는 문자가 입력이 되어 있다면 이후에 작성된 문자열이 있더라도 산출되는 결과에 적용되지 않는 것이다. 또한 이번 예제코드에서는 for loop, if state.. 2023. 9. 25.
[Error Codes] 홈브류 설치가 안될때, -bash: brew: command not found -bash: brew: command not found # 홈브류 설치 에러 글쓴이는 가격이 다소 비싸더라도 한국 제품을 이용하는 젊은 꼰대이기 때문에 개발자임에도 불구하고 윈도우 기반 삼성이나 엘지 제품만을 사용해 왔었다. 일을 하는 곳에서 개발용 노트북 (Laptop) 지원을 해주었고 약 2년째 맥북 프로를 사용하고 있지만 아직도 나에게 있어 애증의 관계이다. 아무튼 이번 포스트에서는 글쓴이도 겪었던 홈브류 설치 에러를 해결하는 방법에 대해서 공유해볼까 한다. 또한 오류에 대한 질문과 이에 대한 포스팅이 많아지는 관계로 "Error Codes"라는 별도의 카테고리를 만들었다. 이전 포스트와 앞으로의 에러 관련 포스트들은 해당 카테고리에서 확인할 수 있으니 참고하길 바란다. 추가로 카테고리명이 너무 촌.. 2023. 9. 24.
[Python Examples] 모델링을 위한 데이터 분석 방법 비교: simple Euler integration, Runge-Kutta 4th order 모델링을 위한 데이터 분석 방법 비교: simple Euler integration, Runge-Kutta 4th order 포스트 난이도: HOO_Middle # 모델링을 위한 데이터 분석 이전 포스트, "모델링을 위한 데이터 분석",에서 4가지 계산식을 통해 산출된 결괏값들이 각기 달라질 수 있다는 걸 확인했다. 이번 포스트에서는 각기 다른 계산식일지라도 주어진 조건 값을 조정해 줌으로써 산출 결과를 동일하게 만들어줄 수 있음을 살펴볼 예정이다. 앞선 포스트에 대한 내용이 궁금하다면 아래의 링크를 통해 해당 포스트를 살펴볼 수 있다. https://whoishoo.tistory.com/655 [Python Example] 모델링을 위한 데이터 분석 방법 Analytical solution, simpl.. 2023. 9. 22.
[카카오 같이가치] 자립준비청년의 꿈 더하기 자립준비청년의 꿈 더하기 # 카카오 같이가치 HOOAI에서 발생하는 광고 배너 수익을 기반으로 최소 매달 5만 원씩은 기부가 가능하지 않을까라는 나름의 야망을 가지고 있었지만 어림도 없는 소리였다. 가난한 박사생이지만 우선은 사비를 털어서 카카오 같이 가치를 하게 되었다. 이번에 기부를 하게 된 곳은 자립준비청년을 지원하는 곳이었다. 청년이라고는 했지만 사실상 10대 후반에서 20대 초반인 그 친구들은 글쓴이가 보기아 아직도 어린 학생들일뿐이었다. 하고 싶은 꿈이 있어도 재정적 어려움에 꿈을 포기하는 학생들의 사연을 보며 마음이 아팠다. 글쓴이가 블로그 광고 수입을 토대로 청소년들을 지원하기로 마음을 먹었던 이유는 청소년들 중에서도 개발자를 꿈꾸는 학생들이 있다면 조금이나마 도움을 주고 싶어서였다. 사연.. 2023. 9. 22.
[Python Example] 모델링을 위한 데이터 분석 방법 Analytical solution, simple Euler integration, improved Euler integration, Runge-Kutta 4th order: #matplotlib, #for_loop, #numpy 모델링을 위한 데이터 분석 방법 Analytical solution, simple Euler integration, improved Euler integration, Runge-kutta 4th order: #matplotlib, #for_loop, #numpy 포스트 난이도: HOO_Middle # 계산식에 따른 산출값의 변화 Timeseries의 데이터를 분석하여 모델링을 하기 위해서는 비정형 데이터를 정형화하는 작업이 필요하다. 그중에 가장 기본적으로 데이터를 분석하는 방식이 연속성 데이터를 분석할 수 있는 계산식을 통해서 결괏값을 산출해 내는 것이다. 대표적인 계산식으로는 Analytical solution, Simple Euler integration, Improved Euler integrat.. 2023. 9. 21.
[C Examples] 누가 시험을 잘봤을까#2 (exam highest, lowest, average): for loop, array, if statement, void) 누가 시험을 잘 봤을까#2 (exam highest, lowest, average): for loop, array, if statement, void) 포스트 난이도: HOO_Junior # Example codes 이번 예제코드는 "누가 시험을 잘 봤을까" 포스트에 이은 두 번째 버전의 예제코드이다. for loop, array, if statement를 사용하고 있는 건 기존 포스트에 나와있는 코드와 동일하지만 void를 사용해서 코드 구조 자체를 바꾸어 보았다. 이처럼 반복적으로 사용하는 기능에 대해서는 void를 사용해서 main과 구분하여 사용이 가능하다. 처음 c 프로그래밍을 배우는 학생들에게 있어서 main에 모든 걸 다 쏟아 부는 게 훨씬 쉽고 간단하게 느껴진다는 걸 글쓴이도 백 퍼센트 이.. 2023. 9. 19.
[C Examples] 누가 시험을 잘봤을까 (exam highest, lowest, average): for loop, array, if statement 누가 시험을 잘 봤을까 (exam highest, lowest, average): for loop, array, if statement 포스트 난이도: HOO_Intern # Example Codes 이번 포스트는 C언어를 기반으로 한 최댓값과 최솟값 그리고 평균값을 구해보는 예제코드이다. 예제코드에서 중점적으로 살펴봐야 할 부분은 배열을 어떻게 활용하고 있는지이다. 아래의 예제코드는 1차 배열을 활용하여 각 값들을 비교하여 원하는 값을 산출해내고 있다. #include int main() { int exam[] = { 70, 80, 94, 85, 47, 68, 98, 77, 85, 88 }; int highest = exam[0]; int lowest = exam[0]; float total = 0; .. 2023. 9. 19.
[C Examples] 고양이 중에 누가 가장 밥을 많이 먹나: for loop, 2 dimensional array, if statement 고양이 중에 누가 가장 밥을 많이 먹나: for loop, 2 dimensional array, if statement 포스트 난이도: HOO_Junior # Example codes 글쓴이는 동물 애호가이다. 오늘은 간단하면서도 재미있는 예제코드를 만들어보았다. 이번 예제코드에서는 고양이 3마리가 매일 얼마만큼의 밥을 먹으며, 최종적으로 누가 가장 많은 밥을 며칟날 먹었는지를 산출해 내는 걸 확인할 수 있다. 예제코드에서 유심히 살펴봐야 할 부분은 이차 배열을 활용하여 각각의 값들을 저장해주고 있으며, 이를 이중 for loop에서 어떻게 데이터 값들이 저장되고 if문에서 특정 값을 산출해 내기 위해 어떻게 계산이 되는 지이다. 거두절미하고 코드를 살펴보도록 하자. #include int main() .. 2023. 9. 18.
728x90