컴퓨터 => 계산기, 연산기 ### 컴퓨터의 역사 ### - Blaise Pascal(1642) : 기계식 계산기(덧셈, 뺄셈, Pascal Line) - Gottfried Leibniz(1672) : 2진법 창시, 계산기(곱셈,나눗셈) - Charles Babbage(1871) : 컴퓨터 설계도만 만듬, 천공카드, 범용계산, : Analytic engine(해석기관 => 완전특성(기계식 + 현재 컴퓨터 특성) - Turing machine : 수학모형(오토마타) 기계(컴퓨터)를 수식으로 표현할 수 있는 방법론 만듬 : 알고리즘 구현가능, 현재 컴퓨터의 기반 - Von Neumann : 컴퓨터 실제 구조 완성 - 연산장치 / 레지스터(프로그램 관리) / 프로그램 카운터 도입 ..
1. sudo apt-get update sudo apt-get upgrade 로 최신화를 시켜준다. 2. apt-get install openssh-server 로 ubuntu ssh server을 설치한 후 service ssh restart를 해줘 ssh server에서 service를 retrigger 해준다. 3. apt install vim을 설치해서 vim을 만들 수 있게 해준다. 4. gcc -o를 실행 하기 위해 sudo apt install gcc 를 해준다. 5. vi ex-fork.c로 해서 코드를 써준후 :wq입력하여 저장 후 나간다. 6. gcc -o ex-fork ex-fork.c 를 적어줘서 실행을 해준다. -> ex-fork.c 파일을 통해 ex-f..
Naver 오픈 클래스를 DSC를 통해서 신청하게 되었습니다. 많은 내용이 있었지만 저에게는 딱 한가지가 기억에 남고 방향을 알맞게 해주는 내용있었습니다. > 여기서 알려주는 기본은 단지 PS 뿐만 아니라 학교 과정의 컴퓨터 전반의 지식을 알아야 한다는 것을 강조했습니다. 즉, 비록 하고 싶은 분야가 있다고 하더라도 Base가 있어야 함을 알려줬습니다. 자료구조, 알고리즘, 운영체제, 컴퓨터 구조 등 대학교에서 전공이라 등 떠밀려서 공부하고 이 공부를 하는 나에게 의문을 가졌지만 '이러한 기초 과목을 알고 하고 싶은 분야를 하면 깊게 이해가 가능하기 때문에 좀 더 습득이 빠르고 응용을 더 잘 할 수 있다는 것을 알게 되었습니다.' 쓸데 없는 공부는 없다는 것을 다시 한번 깨닫고 Base를 가지고 응용까지..
2019.06.25 ~ 19.07.09 학교에서 일본 대학교로 인턴을 보내줬습니다. 주 title은 it를 큰 주제로 머신러닝을 연구? 하는 자리였고 일본에 가서 대학교 연구실에서 가볍게 기초를 배우고 특정 데이터를 가지고 머신러닝을 활용하여 좋은 정확도를 얻어 내는 것이 었습니다. 약간의 tip을 주셨지만 맨 땅에 헤딩하듯 1부터 100까지 다해야만 했습니다. 이 때 부터 새로운 것에 대해 겁이 없어지고 거침없이 공부를 해나갔습니다.. 계속 저의 무지함에 화가나고 힘이 들었지만 혼자서 헤쳐나가는 법을 터득했습니다. 이로인해 현재 아직 주춤주춤하지만 이 기억을 다시 떠올려서 약해진 나를 헤쳐나가고 있습니다.
문자열은 index로 확인을 할 수 있지만 변경은 할 수 없습니다. 그래서 list로 바꾼 후 변경을 해야 합니다. word = input() #입력 asdf -> 출력 'asdf' word[2] = ')' # 변경이 불가능 하다 word = list(word) word[2] = ')' # 변경이 가능하다 error 'str' object does not support item assignment ( 'str' 객체가 항목 할당을 support 하지 않습니다.)
int *p : 주소를 저장해 놓는 공간 만들기 => 자료형 + *(포인터) *p : 역참조로 int *p와 같지 않다 (p에 주소가 있으면 주소값을 찾아가라.) + 배열과 포인터 #include int main(){ // 주소랑 사칙연산을 할 수 있다. int a[3]; int *p; //주소를 저장하는 곳 // a는 배열의 첫번째 주소 (= &a[0]) // 주소에 *을 붙이면 해당 주소의 값(역참조) // *(a+i) == a[i] return 0; } + 포인터 문자열은 수정이 불가능 하다 . #include int main(){ int *p = "NoChange" return 0; }
### 소인수 분해 ### : 합성수를 소수의 곱으로 나타내는 방법 (위키백과 https://mathbang.net/200) 인수 : 어떤수를 만들 때 곱해지는 각각의 것들(약수, a=b×c이면 b, c를 a의 인수) 소인수 : 인수(약수) 중에서 소수인 것들 #x는 줄여가면서 소인수는 늘려가면서 x를 소인수로 나눠 준다. def prime(x): p = 2 #소인수의 시작 factorization = [] #소인수를 저장하는 곳 # 시간 복잡도가 x ** 0.5일 때만 파악 # 소인수를 점점 늘려가면서 계산 while p ** 2 1: factorization.append(x) return fac