해설 처음부터 끝까지 검색을 시작한다. 검색을 해 나가면서 현재 검색하고 있는 문자가 j,=,-이면 그전 문자가 어떤거였는지를 체크한다.또한 검색을 해 나가면서 단어의 개수를 세기 위해서 count를 하나씩 늘려준다 ljes=njak라는 문자열이 있을때 l을 검색할때 count ++ 되고그다음 j를 검색하게 되면 마찬가지로 count가 1 증가되서 count는 2인 상태에서 그 앞의 문자를 보니 l이다 따라서 lj는 크로아티아 문자이므로 다시 1을 빼줘서 count가 1이되게끔 만든다. 그다음 e를만나면 count=3s를 만나서 count =4=을 만나서 count=5인 상태에서 =을 만났으므로 앞의 문자까지 포함해서 보면 s=이다. 따라서 count를 1빼줘서 4가 되게끔하고 마찬가지로 검색을 쭉 하다..
클라이언트 프로그램에서 connect()시스템콜이 실패했을때 다시 소켓을 만든다음에 connect를 해야한다고 권장한다. 그 이유는 connect() 시스템콜이 실행 되었을때 클라이언트가 서버측으로 tcp 3 way handshaking을 시작하기 위해 SYN메시지를 보내게 되는데 어떤 이유에서든 connect()가 완료 되지 못했다면 그 클라이언트의 connect() 실패한 그 소켓은 불안정한 상태가 되었기 때문에 없애고(close()하고) 다시 만들어서 연결설정을 다시 해야한다. 그렇지 않고 내가 connect() 실패한 소켓으로 read/write를 하려고 하면 연결설정이 안된 상태기 때문에 아무리 read/write를 호출해도 서버와 연결이 안되어있기 때문에 데이터 송수신이 불가능하다. 또한 다시..
어떻게 풀어야 될지 감이 잘 안와서 구글링을 해서 풀었다.. 1원짜리 5원짜리 12원짜리 동전이 있고 15원을 만드려고 할때 최소의 동전개수로 만드는 문제이다.이문제는 동전교환 문제라고 알려진 유명한 문제이다 맨 위의 굵은 숫자들은 몇원이냐를 말하는것이다. 1원,2원,3원...을 만들기 위해 필요한 최소의 동전의 개수가 저장된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 151 2 3 4 5 6 7 8 9 10 11 12 13 14 15 =>동전이 1원짜리만 있다고 가정 1 2 3 4 5 2 3 4 5 6 3 => 1원짜리와 5원짜리가 있다고 가정 1 2 3 3 => 1원,5원,12원짜리가 있다고 가정했을때 필요한 최소 동전의 개수해서 답은 총 3개의 동전이 필요하다위의 숫자들은 dp[..
간단한 다이나믹 프로그래밍 문제이다. 예제에 나온걸 예로 들면 6 10 13 9 까지만 있다고 쳤을때 x x o x o o 연속해서 세잔을 마실 수가 없으므로 세가지 경우가 나타날 수 있다. 1.마지막 잔을 마시지 않고 그전 잔만 있다고 생각했을때 최대 마실수 있는양2.마지막 잔을 + 그전전 잔까지만 있다고 생각했을때 최대 마실수 있는양3. 마지막 잔과 그 전 잔 + 그전전 까지의 포도주의 최대 시식량 이 세가지 경우중에 최대가 되는것을 택하면 6 10 13 9 의 양을 가진 포도주잔들이 있을때 마실수 있는 포도주의 최대 양을 구할 수 있게 된다. 12345678910111213141516171819202122232425262728#include#includeusing namespace std;int i..
dfs로 푼 문제 1,1 부터 n,n까지 검색하면서 1인곳부터 dfs를 시작한다 dfs를 시작후 깊이 들어가면서 1이라고 표시된곳을 0으로 고치고 1을 더해줌으로써 한 동의 몇개의 세대가 있는지를 체크한다. 알고리즘 자체는 오류가 없었으나 정적배열의 크기를 25*25로 잡고 int형으로 했더니 오류가 났던 문제 bool 26*26으로 수정했더니 잘 동작했다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include#include#include using namespace std;bool W[26][26];bool visited[26][26];int diffx[4]..
무선 환경에서 CSMA/CD를 적용 하기 힘든 이유1. Hiden terminal 문제(CS가 힘듦) -> A B C 라는 단말이 순서대로 있을때 A와 C단말의 신호 전송 범위가 서로 겹치지 않아서 A와C는 서로의 존재를 알 수 없다. A가 B와 통신을 하고 있을때 C는 A와B가 통신하고 있는것을 모르므로 B에게 신호를 보낼 수 있다. 그렇게 되면 C가 의도치 않게 A와B의 통신을 방해하게 된다. 이게 바로 히든 터미널 문제이다. CSMA/CD란 미디움에 캐리어가 있는지 확인하고 없으면 전송하며 충돌이 발생하면 어떤 처리를 해주는 것을 의미하는데 히든터미널 문제때문에 C가 A의 캐리어를 확인할 수 없다. 다시 말해서 무선 환경에서는 캐리어 센싱 자체가 힘들다. 2. CD란 Collision Detecti..
DB 설계 순서 1. 요구사항 분석2. 개념적 설계 (er 다이어그램)3. 논리적 설계 (테이블 만들기)4. 물리적 설계 개념적 설계-> 현실세계의 어떤 물체나 인식 들을 추상적인 개념으로 옮기는 과정-> 요구사항 분석을 바탕으로 개체와 개체간의 관계를 ER다이어그램으로 표현한다.-> 특정 DBMS에 독립적으로 설계해야 한다. 논리적 설계-> 개념적 설계의 결과물을 바탕으로 특정 DBMS가 지원하는 자료구조의 형태로 변환하는 과정이다.(테이블,트리등등) 물리적 설계-> 논리적 설계의 결과물을 디스크와 같은 특정 물리적 장치에 저장 되게 하는 데이터의 형태로 변환하는 과정이다.-> 물리적 설계를 어떻게 하냐에 따라 데이터베이스의 속도가 차이 나게 된다.-> 데이터베이스의 물리적 구조와 접근 순서등에 대한 ..
슈퍼키-> 어떤 테이블의 속성들의 조합 ( 이 조합으로 테이블 내에서 어떤 튜플을 유일하게 구분할 수 있어야 함)-> 아래 테이블에서 학번 + 성명 속성의 집합으로 테이블 내에서 어떤 튜플을 유일하게 식별할 수 있음.-> 학번이 A11이고 이름이 홍길동인건 테이블 내에서 유일하게 딱 하나만 존재함.-> 학번 + 성명 또는 학번 + 주민번호 또는 학번 + 주민번호 + 성명등 슈퍼키는 튜플을 유일하게 구분할 수 만 있으면 여러개가 존재 할 수 있다.후보키 -> 슈퍼키 중에서 최소성까지 만족 하는 키.-> 슈퍼키 중에서도 최소한의 속성의 집합만으로도 어떤 한 튜플을 유일하게 구분 할 수 있다.-> 학번 + 성명으로도 A11 홍길동 학생의 튜플을 유일하게 구분할 수 있지만, 학번 속성만으로도 홍길동이라는 학생의..
- Total
- Today
- Yesterday
- Babel
- atomic design
- return type
- reflow
- reducer
- react
- javascript
- design system
- Action
- mobx
- computed
- await
- useRef
- storybook
- reactdom
- async
- state
- react hooks
- webpack
- es6
- Polyfill
- typescript
- props
- server side rendering
- type alias
- promise
- hydrate
- useEffect
- Next.js
- rendering scope
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |