일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- programmers
- logistic regression
- 기능개발
- tensorflow
- 인공지능
- 텐서플로
- pwnable.kr
- Linear_regression
- Softmax classification
- AI
- leg
- Algorithm
- Python
- Today
- Total
목록전체 글 (71)
나혼자 공부장
문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 따라서, 모든 트럭이 다리를 지나려면 최소 8초가 걸립니다. solution 함수의 매개변수로 다리 길이 bridge_length, 다리가 견딜 수 있는 무게 weight, 트럭..
문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 ..
문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 정말.. 나에겐 꽤 매운 문제였다 힘겹게 이해는 되었으므로 빠르게 풀이를 써본다 대충 이중 for문 써야한다는건 감이 왔다. 그러나 주목할 점은 문제의 분류가 '스택/큐' 라는 것이다. 이중포문으로 몸빵하라는 문제가 아니다. 마지막 요소의 가격을 비교하는 문제니 큐보다는 스택으로 풀 수 있는 문제 같다. 대충 스택이 필요한 구조라는건 머리를 굴리면서 이해가 되었으나, 이걸 어떻게 구현해야할지..
문제 설명 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한 조건 ..
급하게 힙을 공부해야 할 일이 생겼다. 왠지 힙이 어려워서.. 그냥 눈으로 읽으면서 공부하기엔 무리가 있더라 직접 문서화하면서 공부해보기로. 철저히 필자 편하자고 하는 문서화라 서술이 좀 별로일거임. a = malloc(8); b = malloc(8); c = malloc(8); 스택이랑 반대로 최근에 쌓인게 더 높은 주소를 가진다. (그림 상에서 밑으로 쌓이는 것임) 1. malloc된 chunk 구조 - prev_size : 이전 chunk의 크기 - size : 현재 chunk의 크기 - P : 플래그 Flag 설명 PREV_INUSE (P) 1 - 이전 chunk가 사용중 0 - 이전 chunk가 free된 상태 IS_MAPPED (M) mmap() 시스템 콜을 통해 할당된 것인가? NON_MAI..
Item 18: Use std::unique_ptr for exclusive-ownership resource management. 소유권 독점 자원의 관리에는 std::unique_ptr을 사용하라 unique_ptr : 독점 소유권 의미론을 가진 자원의 관리를 위한, 작고 빠른 이동 전용 스마트 포인터 shard_ptr의 단점 1. 참조 계수를 관리하기 위해 나타나는 overhead 2. raw pointer로 복귀 불가 + shared_ptr 에서 unique_ptr 변환은 불가능하지만, 그 반대는 가능하다. + shared_ptr은 raw pointer 메모리의 2배를 차지하지만, unique_ptr 은 raw와 정확히 같은 메모리를 할당받는다. -> 소유권 독점 여부가 정해져있다면, 굳이 sha..
Item 7: Distinguish between () and {} when creating objects. 객체 생성시 괄호와 중괄호를 구분하라 중괄호 초기화는 축소 변환, C++의 가장 성가신 구문 해석 등에서 자유롭다. int x(0); // 소괄호로 초기화 int y = 0; // 등호로 초기화 int z{0}; // 중괄호로 초기화 int z = {0}; // 기본적인 중괄호 초기화와 같음 우리는 객체 생성, 함수 정의 등등 여러 용도로 괄호를 쓴다. 그러나, C++은 함수의 정의로 해석이 가능한 것은 모두 함수의 정의로 해석한다. -> 괄호를 쓸 때 우리의 의도대로 동작하지 않을 수 있다. uniform initialization (균일한 초기화) 쉽게 말해 문제가 되는 상황에서 괄호를 중괄호..
HTTP Traffic Flooding 공격 HTTP란? 인터넷에서 브라우저와 웹서버 간에 문자를 전송하기 위해 사용되는 통신규약을 칭함 Header - 보낼 메시지의 형식, Body - 실제 보낼 메시지(페이로드) TCP의 Payload의 저장되어 전송됨 TCP 윈도우 크기에 따라 여러 패킷으로 분할되어 전달 지시자 설명 GET 웹서버에 저장된 정보를 단순히 요청하기 위해 사용, 해당 정보 브라우저로 회신 데이터를 URL에 담음 POST 클라이언트에서 웹서버로 데이터를 전송할 때 사용 ID, PWD 같은 웹서버가 처리할 수 있는 자료 HEAD GET과 같지만 자료에 대한 정보만을 수신할 때 사용 PUT 해당 URL에 자료를 저장하는 요청 DELETE 해당 URL에 자료를 삭제하는 요청 TRACE 히스토..
Item 5: Prefer auto to explicit type declarations. 명시적 타입 선언보다는 auto를 선호하라 1. 왜 auto인가? 1) 이식성 또는 효율성 문제를 유발할 수 있는 타입 불일치가 발생하는 경우가 거의 없다. 2) 대체로 변수의 타입을 명시적으로 지정할 때보다 타자량이 적다. 단, 반드시 초기화해야함 template // b에서 e까지의 구간에 있는 모든 void dwim(It b, It e) // 요소에 대해 dwim("do what I mean") { // 알고리즘을 수행한다. for (; b != e; ++b) { typename std::iterator_traits::value_type currValue = *b; ... } } // auto를 사용하면 훨씬..
Item 1. Understand template type deduction. (템플릿 타입 추론 규칙을 숙지하라) 템플릿 타입 추론 도중에 참조 타입의 인수들은 단 하나의 경우를 제외하고 참조성이 무시된다. 그 예외는 밑에서 차차 설명하도록 하겠다. template void f(ParamType param);// ParamType : const T& f(expr); 위와 같이 선언되어 있다면, expr에 int 형의 변수를 넣었을 때 최종 ParamType은 const int&가 된다. 즉 템플릿이 추론한 타입은 expr 뿐만이 아닌, ParamType의 형태에도 의존하게 된다. 그 경우는 총 세 가지로 나뉜다. Case 1. ParamType이 포인터 혹은 참조타입이긴 하나, universal ref..