일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 킥스타트
- 리눅스
- dp
- 코딩
- 프로그래머스
- BFS
- nlp
- 코딩 테스트
- 동적프로그래밍
- 브루트포스
- 딥러닝
- 알고리즘
- 구글 킥스타트
- 코딩테스트
- DFS
- 동적 프로그래밍
- PYTHON
- 프로그래밍
- google coding competition
- 파이썬
- kick start
- 그래프
- CSS
- linux
- OS
- 백준
- 네트워크
- AI
- 순열
- 운영체제
- Today
- Total
목록분류 전체보기 (312)
오뚝이개발자
퍼셉트론(Perceptron)이란? 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 알고리즘으로 신경망(딥러닝)의 기원이다. 위의 그림에서 원을 '노드(뉴런)'이라고, w1과 w2를 가중치라고 부른다. 위의 퍼셉트론을 수식으로 나타내면 다음과 같다. 즉, w1x2 + w2x2의 값이 세타보다 작거나 같으면 0을, 크면 1을 출력한다. 이 때, 세타를 임계값이라 한다. 다시말하면, 신호의 총합이 임계값을 넘을 때만 1을 출력하는데 이를 "뉴런이 활성화"되었다고 한다. 가중치는 각 신호가 결과에 주는 영향력을 조절하는 역할을 한다. 기계학습이란? 기계학습에서 '학습'이란 위와 같은 퍼셉트론의 적절한 매개변수 값을 컴퓨터가 자동으로 정하게 하는 것을 말한다. 그렇다면 사람이 하는 일은 무엇일까? 바로 구조..
Numpy란? 배열과 행렬 계산에 유용한 라이브러리로 일반적으로 아래와 같이 import 해준다. import numpy as np Numpy의 배열 생성(np.arrary()) np.array() 메서드는 리스트를 인수로 받아 넘파이의 특수한 형태의 배열(numpy.ndarray)을 반환한다. # np.array() 실습 X = np.array([1.0, 2.0, 3.0]) print(X) # [1. 2. 3.] print(type(X)) # Numpy 배열 간 산술연산 numpy 배열 간의 산술연산은 element-wise 연산 즉, 원소별 연산이다. 주의할 점은 연산을 하는 배열(행렬)의 형상이 같아야 한다. 여기서 형상이란 N차원 배열에서 각 차원의 크기(원소수)이다. # Numpy 산술연산 실습..
파이썬에는 숫자를 판별하는 기본 함수가 내장되어있다. 말그대로 해당 문자열이 숫자인지 아닌지를 판별하는 것이다. 여기엔 세 가지가 있다. isdigit(), isdecimal(), isnemeric()이다. isdigit() 해당 문자열이 '숫자'로 이루어져 있는지 검사한다. x = '3²' x.isdigit() # True x.isdecimal() # False int(x) # ERROR!!!! isdecimal() 해당 문자열이 0~9까지의 수로 이루어진 것인지 검사한다. 다시 말해, int로 바로 변환할 수 있는 수인지를 검사한다. 때문에 위의 코드 예시에서 3²를 isdecimal로 검사했을 때 False가 나온 것이다. isnumeric() numeric하다는 것은 좀 더 폭넓은 의미를 가진다...
스레드(Thread) 프로세스 내에서 실행되는 작업의 단위 프로세서 활용의 기본 단위 stack이외의 메모리 공간(data, heap, code) 다른 스레드와 공유 스레드의 장점 사용자 응답성 일부 스레드가 처리 지연되어도, 다른 스레드는 작업 계속 처리 가능 자원 공유 커널의 개입을 피해 효율 증가 경제성 프로세스의 생성, context switch에 비해 효율적 멀티 프로세서 활용 병렬처리를 통한 성능 향상 스레드의 구현 사용자 수준 스레드(User thread) 커널 수준 스레드(Kernel thread) 사용자 수준 스레드 사용자 영역의 스레드 라이브러리로 구현됨 커널은 스레드의 존재 모름 장점 커널의 관리를 받지 않음(생성 및 관리의 부하 적음) 단점 커널은 프로세스 단위로 자원할당 하나의 스..
프로세스 "실행 중인 프로그램" 커널에 등록되고 커널의 관리 하에 있는 작업 PCB(Process Control Block) Def) OS가 프로세스 관리에 필요한 정보 저장하는 블록 프로세스 생성 시, 생성됨 kernel space에 저장 프로세스의 상태(Process state) 프로세스-자원 간의 상호작용에 의해 결정 Created state 작업(Job)을 커널에 등록 PCB 할당 및 프로세스 생성 가용 메모리 공간 체크(있으면->ready, 없으면->suspended ready) Ready state 프로세서 할당 대기 상태(프로세서 이외의 모든 자원 할당 O) Running state 프로세서와 필요한 자원 모두 할당받은 상태 Preemption running->ready 프로세서 스케줄링(e..
운영체제의 역할 User Interface(편리성) Resource Management(효율성) Process and Thread management System management System call interface=>사용자가 kernel에 필요한 기능 요청하는 통로(커널에 직접 접근X) 운영체제의 구분 동시 사용자 수에 따라 single-user system multi-user system 동시 실행 프로세스 수에 따라 single-tasking system multi-tasking system(=multi-programming system) 작업 수행 방식에 따라 Batch system Time-sharing system Distributed processing system Real-time s..
git init -> git저장소 시작 git status -> 파일들의 상태 확인 git add filename -> file을 git 저장소에 추가 git add * -> 변경사항 전부 추가 git commit -m "commit message" -> commit(확정) git log -> 커밋 로그 확인 git checkout branch name -> 해당 브랜치로 이동 git branch -> 존재하는 branch 확인 및 현재 있는 branch 확인(*가 붙어있음) git branch test -> test라는 브랜치 생성 git merge branch name -> 해당 브랜치를 마스터에 병합시킴 git branch -d branch name -> 해당 브랜치 제거(-d 옵션으로 인해) gi..
문제 https://www.acmicpc.net/problem/9376 9376번: 탈옥 문제 상근이는 감옥에서 죄수 두 명을 탈옥시켜야 한다. 이 감옥은 1층짜리 건물이고, 상근이는 방금 평면도를 얻었다. 평면도에는 모든 벽과 문이 나타나있고, 탈옥시켜야 하는 죄수의 위치도 � www.acmicpc.net 생각의 흐름 사실 혼자 힘으로 풀지 못해 블로그를 많이 참고해서 구현하였다. 참고한 블로그는 https://rebas.kr/770이다. 위 블로그에 드러나지 않은 부분을 설명하겠다. bfs함수의 for문 안에서 '.'인 경우 appendleft를 해주고 '#'인 경우 그냥 append를 해주는데 이유는 '.'인 경우를 우선적으로 처리하도록 하기 위함이다. 왜냐하면 '.'와 연결된 경우는 문을 부수지 ..