본문 바로가기

전체 글

(104)
Mergesort / Quicksort / Heapsort 시간복잡도 비교 _Worst case/Average case Objective: Implement merge sort, quicksort, heapsort and evaluate the performance in the worst and average case. 목적: mergesort, quicksort, heapsort를 직접 구현하고 최악의 경우와 일반적인 경우에 시간효율성을 계산하고 이를 분석한다. Language(언어): Python3 1. Sorting in the Average case (일반적인 상황에서의 time complexity) - Input data were randomly arranged before sorting function In the average case, the time complexities of the above sorti..
How to optimize text entry (Assignment Problem) Thie paper review is written mainly referring to Assignment Problems for Optimizing Text Input (Anna Feit's dissertation). 텍스트 인풋에 최적화에 대한 논문을 영어로 리뷰하여 작성하였습니다. Feit, A. M. (2018). Assignment Problems for Optimizing Text Input. 01. Introduction (WPM & Usability) How to optimize text input has been a long-time concern in the HCI field. Nowadays, The design of the text input methods is still large..
Recent Wearable Device Input Method (최신 웨어러블 디바이스 입력방식) Nowadays, there are so many kinds of wearable devices and there are also many types of input methods. I'm studying the text input method in such wearable devices. This post is uploaded for investigation about the recent wearable device input method. Index 01. Smart Watch 02. Bluetooth Earphone 03. VR 04. AR 05. Smart Ring 06. Smart Accessory 07. Smart shoes 01. Smart Watch - Apple Watch Digital ..
05. 아두이노 심화 - 유선통신 및 무선통신 센서들 알아보기 이 포스팅은 UNIST Prototyping 동아리 DINO의 이도영님의 아두이노 코딩강좌 내용을 바탕으로 정리하였습니다. 저번 포스팅까지 회로, 인풋, 아웃풋에 이어 통신까지 알아보았다면 이제 센서를 하나씩 살펴보고자 한다. 먼저 유선통신 센서부터 시작해보자. 1. 서보모터(Servo motor) 서보모터는 일반 모터와는 다르게 회전각도 및 각속도를 사용자가 조절할 수 있다. 서브모터가 아니라 Servo(사용자를 따른다는 의미로 사용)모터로 로봇, 장난감 및 드론 등 광범위하게 사용되고 있다. 서보모터의 회전 각도는 우리가 앞서 analog output에서 사용하였던 PWM 방식으로 제어한다. 20ms의 PWM 주기 중에서 1-2ms사이의 파형을 통해 서보모터의 회전각도를 제어하게 된다. 아래의 그림을..
백준 2884번 시계 세팅 문제 _ C++, python 두가지 풀이 비교. 문제: https://www.acmicpc.net/problem/2884 2884번: 알람 시계 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 맞추기"이다. 이 방법은 단순하다. 원래 맞춰져있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 www.acmicpc.net 이제 여유로울 때 백준 알고리즘 문제도 풀면서 하나씩 업로드를 해볼까해요. 요즘엔 C++도 다시 공부하고 있는데요, 때문에 앞으..
[C++] 5. 클래스의 완성 (정보은닉/캡슐화/생성자와 소멸자/클래스와 배열/This 포인터) 이 포스팅은 윤성우님의 열혈 C++ 프로그래밍 책을 기반으로 작성되었습니다. 정보 은닉 앞선 포스팅에서 설명하였듯이, C++부터는 접근제어지시자를 통해서 정보를 외부로부터 보호할 수 있게 되었고 이와 같이 멤버 변수의 외부접근을 막는 프로그래밍을 정보은닉이라고 한다. 이를 통해 우리는 객체 내의 멤버변수가 실수로나 아니면 외부 해커들로부터 조작되는 것을 막을 수 있다. 만약 private:이나 protected:를 통해서 정보은닉을 하였다면, 이와 관련하여 접근하기 위한 접근 함수들을 생성하게 될텐데 이를 잘 작성해주는 것이 정보은닉의 핵심이며, 한번만 잘 정의되면 잘못된 접근은 대부분 차단할 수 있다고 볼 수 있다. 또한 이러한 멤버함수들을 const로 선언함으로써, 해당 함수 내에서는 멤버변수의 값을..
9. Pandas Visualization / 코세라(COURSERA) 수료증_python Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. https://www.coursera.org/account/accomplishments/certificate/JE6Q4XBQM2JJ https://www.coursera.org/account/accomplishments/certificate/8HD7UJ4SY4B 헿.. 시작하기에 앞서서 드디어 이번 파이썬을 활용한 데이터마이닝의 두번째 코스 파이썬을 활용한 데이터표현 수료증을 받았다! 코세라(COURSERA)수료증은 위에 처럼 나온다. 받고 나면 굳이 이걸 위해서 돈을 내고 들었어야 하나 생각도 잠시 들지만, 코세라 강의의 핵심은 수업보다 과제에..
[C++] 4. 클래스 맛보기 / 객체지향 프로그래밍 (class, OOP) 이 포스팅은 윤성우님의 열혈 C++ 프로그래밍 책을 기반으로 작성되었습니다. 클래스 도입의 핵심은 기존 C에서 struct 구조체에서 data들을 따로 모아 관리를 했다면 C++에서는 object를 중심으로 관련 있는 데이터와 함수들을 class라는 개념으로 묶는다는 것이다. 물론 여전히 C++에서도 C의 거의 모든 기능을 지원하기 때문에 struct를 이용할 수 있지만, 클래스 개념의 도입이 C에서 C++로의 확장의 핵심임을 누구도 부정할 수 없을 것이다. 우선 먼저 구조체 struct 사용법을 간단히 보고 class로 넘어가자. C++에서는 다음처럼 struct에서도 함수를 포함하는 것을 지원하고 있다. struct Student { int age; int grade; char name[]; ... ..