(1) 깊이 우선 탐색 DFS dfs : 깊이우선 탐색으로 넓게 퍼지며 탐색하는 것이 아니라 가장 깊은 곳까지 우선 탐색 후 넓게 퍼져가며 탐색하는 방법. => 깊이를 우선으로 먼저 탐색하고 탐색이 끝난 후에는 탐색을 시작한 위치로 돌아와 넓게 퍼지며 또 다른 노드에서 깊은 곳까지 탐색하는 방법. => 따라서, 중요한 것은 탐색한 지점을 기억해놔야한다는 점이고 이를 위해 재귀를 적절히 사용할 예정이다. => 익숙해지면 반복문을 통한 방법보다 재귀를 사용해 stack을 구현하는 것이 편리. (2) 너비 우선 탐색 BFS bfs : 너비 우선 탐색으로 넓게 퍼지며 현 위치 노드에 연결된 모든 노드를 우선으로 탐색하고 그 다음으로 한번 깊이를 들어가주며 그 노드의 연결된 모든 노드를 우선으로 탐색하는 방법 =..
구현 : 머릿속의 알고리즘을 소스코드로 바꾸는 과정 *언어중 구현이 가장 쉽지만 시간이 길게 걸리는 python. c로 짤 수 있지만 python 코딩테스트 준비를 위해 python으로 작성할 예정 *사용할 언어 : python => int자료형의 데이터 개수에 따른 메모리 사용량을 고려해야한다. list길이(데이터 개수) 메모리 사용량 1,000(천) 약 4KB 1,000,000(백만) 약 4MB 10,000,000(천만) 약 40MB 참고해서 개발환경에 따라 list사용여부, 활용 방법 등을 생각해내야함. #구현 #상하좌우 => 좌표를 list로 만들어 넣고 x좌표가 1보다 작으면 안 되고 n을 넘을때부터 안 됨. y도 마찬가지로 생각. 나머지는 그냥 for문과 if로 간단히 처리 ''' n = in..
보호되어 있는 글입니다.

이것이 코딩테스트다 (연습문제 1/2 풀기 + 백준 문제 풀기) 이것이 코딩테스트다 1. 모험가 길드 2. 곱하기 혹은 더하기 3. 문자열 뒤집기 #모험가 길드 => 공포도가 x인 모험가는 반드시 명 이상으로 구성한 모험가 그룹에 참여해야함. 최대 몇개의 모험가 그룹? //28 ''' n = int(input()) num = list(map(int, input().split())) print(num) num.sort(reverse = True) list2= [] for i in range(0,n): cnt=0 while i
그리디 알고리즘이란? 현재 상황에서 지금 당장 좋은 것만 고리는 방법 = 탐욕적, 욕심쟁이 기법! = GREEDY! 현재상황에서 가장 좋아보이는 것을 선택해도 문제를 풀 수 있나?를 생각했을 때 그것이 성립하다면 GREEDY를 시도할 것! 기본적인 예제 1. 거스름돈 문제 => 최소 거스름돈의 개수 => 개수를 적게 만들기 위해서는 당연히 주는 동전의 단위가 커야함. => for문을 돌릴때 동전의 단위가 큰 것부터 걸리게끔 조건을 걸고 동전의 나머지가 0이 되는 순간 개수 출력 x = int(input()) cnt = 0 while x!=0: if x//500: print(x//500) cnt = cnt + x//500 x = x%500 if x//100: print(x//100) cnt = cnt + ..
what? 강화학습이란 머신러닝의 한 종류로, 어떠한 환경에대한 어떠한 행동이 잘못된 것인지 잘 된 것인지 나중에 확인하고 보상을 달리 줌으로써 반복을 통해서 스스로 학습하게 하는 방법이다. - 환경과 에이전트의 상태 등을 입력값으로 받아 인공 신경망이 행동을 결정하고 보상이 있다면 이전 학습값과 행동을 긍정적으로 학습 => 딥러닝 방법 - 마르코프 의사결정 + 학습의 개념 * 마르코프 가정 상태가 연속적으로 이어질 때 어떠한 시점에 대한 상태는 그 시점 바로 이전의 상태에만 영향을 받는다는 가정 * 마르코프 과정 상태전이 확률 : 어떠한 상태가 i일때, 그 다음 상태가 j가 될 확률을 의미함.(즉, 어떠한 상태가 특정 상태에 영향을 미칠 확률을 의미함) 이때, 마르코프 가정을 만족하면 바로 직전의 확률..

user manual 1. A user can access, sign up, sign in and sign out via web browser. 2. Your system can list a user’s diaries, such that the user can see his/her diaries from his/her web browser. Newer diaries should come before the older one in the list. 3. Post/Delete/Edit a diary through web browser 4. Users write any text and upload pictures to the diary 5. The texts and pictures should be shown..

수신 스레드 : echo_recv()는 클라이언트로부터 메시지를 수신하여 메시지큐에 넣는 작업 송신 스레드 : echo_resp()는 메시지큐에서 메시지를 꺼내와서 클라이언트에 응답하는 작업 앞서 파이프를 사용한 에코서버를 처리한것과 비슷하지만 멀티 프로세스가 아닌 멀티 스레드 방식을 사용하는데 차이가 있음. 송신 및 수신을 위해 스레드를 각각 5개씩 생성, 임의의 스레드가 랜덤하게 에코 서비스를 수행하게 처리. 메시지큐 생성을 위한 키값과 포트번호를 입력받음 recvfrom()을 통해 받은 메시지를 메시지큐에 thread를 통해 송신( 메시지를 받아서 메시지큐에 넣으니 스레드는 recv해야함 => recv thread) sendto()를 통해 전송할 메시지를 메시지큐에서 thtread를 통해 수신(메시..

what? 조건변수란 스레드간 통신을 위해 공유데이터에 대한 상태를 서로 주고 받기 위해서 사용하는 변수이다. how?어떻게 사용? *반드시 뮤텍스와 함께 사용* 조건변수에 대한 정보를 알기 위해서 기다리는 함수를 호출. => cond에 조건 알림(signal)이 발생할 때까지 대기하는 함수. cond : 조건변수 인자 mutex : 조건변수를 mutex로 "제어"하며 공유데이터에 대한 접근을 제어하는데 사용 => 호출함수 사용시 : mutex를 해당 스레드가 얻어야(lock) pthread_cond_wait가 가능함. => 호출발생시(호출이 적용되는 순간) : wait를 호출하는 순간에는 mutex를 해제(umlock)해야 가능함. => 이후, wait는 블록상태로 정보를 얻을 thread가 cond를..
- Total
- Today
- Yesterday
- 11053 백준
- 백준 10866
- CSMA/CD란?
- 10866 백준
- stack 컨테이너
- 백준 11053 파이썬
- 효율적인방법찾기
- 백준 4963
- 백준 15650 파이썬
- DRF 회원관리
- 핀테크 트렌드
- 백준 숫자놀이
- 파이썬 알아두면 유용
- LAMBDA
- 기본 텍스트 분류
- 영화 리뷰 긍정 부정 분류
- 4963 섬의개수
- c++덱
- 코딩월드뉴스
- 기사작성 대외활동
- 소프트웨어공학설계
- 모듈 사용법
- 13886
- CREATE ASSERTION
- 시뮬레이션 c
- mm1queue
- 딥러닝입문
- 백트래킹(1)
- 스택 파이썬
- 온라인프로필 만들기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |