programmers 2

WIL_세 번째 주

세 번째 주 주말이다. Facts 이번주에는 3가지 개인 과제를 진행하고 algorithm을 배우기 시작했다. 개인 과제는 '1. up and down game, 2. 가위바위보 게임, 3. class를 이용한 멤버관리 시스템'을 만드는 것이었다. 첫 번째와 두 번째 프로그램은 비교적 금방 작성을 했는데, 세 번째 멤버관리 시스템은 시간이 좀 걸렸다. 한 class로 instance를 생성하고, 생성된 instance에 세 개의 instance를 만드는 것이 복잡하게 느껴졌다. 그래도 username attribute으로 두 개의 class를 서로 이어주고 각각의 instance에 여러 개의 instance를 생성할 수 있도록 해서 프로그램을 무사히 작성했다. 목요일 부터는 아침마다 알고리즘 실시간 강의..

TIL_Algorithm

오전에 첫 번째 Algorithm 특강을 들었다. 알고리즘이란, 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법이다(구글 검색 결과). Computational thinking이 프로그래밍이나 알고리즘 문제를 풀 때 뿐만이 아니라 다른 분야 혹은 일상 생활 속에서 컴퓨팅 사고를 하는 것은 많은 도움이 된다. 좋은 알고리즘의 기준으로 공간 복잡도와 시간 복잡도가 있다. 공간 복잡도 프로그램을 실행 및 완료하는데 필요한 저장 공간의 양, 컴퓨터 저장공간의 기술 발달로 그렇게 중요하지는 않음. 시간 복잡도 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간. - 빅오메가(Big-Ω): 최선의 경우 - 빅세타(Big-Θ): 평균(중간) - 빅오(Big-O): 최약의 경우 배열의 길이만큼 순회를 해야 함..

LIST