전체 글
-
[프로그래머스] 나머지가 1이 되는 수 찾기 c++Coding Test/programmers 2022. 9. 8. 14:17
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 풀이 입력 값 n은 3부터 주어진다. for문은 n-1의 최소 값은 2 이므로, 반복문은 2부터 n-1까지 진행하도록 한다. #include #include using namespace std; int solution(int n) { int answer = 0; for(int i = 1; i < n; i++){ if(n % i == 1) return i; } return answer; }
-
[CS] 동기 비동기 프로그래밍Computer Science/CS 2022. 9. 7. 23:47
동기(Synchronous) 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다. 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다. 작업 완료 여부를 계속해서 확인한다. 비동기(ASynchronous) 현재 작업의 응답이 끝나지 않은 상태에서 다음 작업이 요청된다. 함수를 호출하는 곳에서 결과를 기다리지 않고, 다른 함수(callback)에서 결과를 기다린다. 작업 완료 여부를 확인하지 않는다. (싱글쓰레드에서 비동기적인 프로그래밍을 한다고 해서 멀티쓰레드처럼 동시 다발적인 실행이 가능해지는 것은 아니다.) 블록킹(Blocking) 블록킹 (Blocking) : 자신의 수행결과가 끝날 때까지 제어권을 갖고 있는 것 논블록킹(non-blocking) 논블록킹 (non-blockin..
-
[CS] Windows kernel programmingComputer Science/CS 2022. 9. 7. 23:25
Kernel 운영체제의 중심에 위치하여운영체제에 기본적인 기능을 제공하는 핵심 부분입니다. 모든 작업은 커널의 동작에 의해 제어되며, 프로세스 관리, 메모리 관리, 파일 시스템 관리, 인터럽트 처리, 프로그래밍 인터페이스 제공 등의 기능을 제공합니다. 하드웨어에 관련된 모든 작업은 응용 프로그램이 직접 접근 해서 사용하는 것이 아닌, 하드웨어와 소프트웨어의 중간에서 그 동작을 중계 역할을 하는 소프트웨어에 종속되어 '요청'을 하는 것입니다. 바로 그러한 역할을 하는 것이 커널입니다. Kernel object - Kernel에 의해 관리되는 리소스 정보를 담고 있는 데이터 블록입니다. - OS가 하드웨어 제어를 하며, 해당 리소스에 대한 Kernel의 제어 단위라고 할수 있습니다. - Kernel이 실행되..
-
[CS] SSL/TLS통신Computer Science/CS 2022. 9. 7. 14:33
SSL : Secure Socket Layer Netscape사에서 웹서버와 브러우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로 부터 서버와 클라이언트의 인증을 하는데 사용된다. SSL handshake protocol SSL ciper change protocol SSL alert protocol Application protocol (HTTP) SSL Record Protocol TCP IP (SSL 프로토콜 스택) TLS : Transport Layer Security TLS는 웹 사이트를 로드하는 웹 브라우저와 같이 웹 응용 프로그램과 서버 간의 커뮤니케이션을 암호화한다. 또한 이메일, 메시지, 보이스오버 IP(VoIP)와 같은 다른..
-
[자료구조] Array(배열) , dynamic arrayComputer Science/Data Structure 2022. 9. 5. 17:17
Array Array 란? 배열은 연속된 메모리 공간에 순차적으로 저장된 데이터 모음입니다. 메모리상에 연속적이며 순차적으로 미리 할당된 크기만큼 저장합니다. 배열을 구성하는 각각의 값을 요소(element)라고 하며, 배열의 위치를 가르키는 숫자를 index라고 합니다. Array 특징 고정된 저장 공간 순차적인 데이터 저장 배열에 각 요소에 접근하는 시간은 O(1)로 모두 동일 - 기본위치 + offset(요소크기 * index)연산으로 모든 요소에 접근 가능 연속된 메모리에 단일 블록화하여 데이터를 저장 - 낭비되는 공간이 거의 없음 - 큰 배열일 경우, 필요 메모리 할당이 불가능할 수 있음 실제 메모리 상에서 물리적으로 데이터가 순차적으로 저장되고, indexing, slicing 가능 Array..
-
[프로그래머스] 두 큐 합 같게 만들기 c++Coding Test/programmers 2022. 9. 5. 15:00
문제 설명 같은 크기의 vector가 두개 주어지고, 두 벡터의 원소들의 합/2 == 벡터1, 벡터2 각 원소들의 합과 같도록 원소를 이동시켜야한다. 벡터1의 원소들의 합과 벡터2의 원소들의 합이 같은지 확인하면 된다. (문제는 queue라고 하는데 인자는 vector 형으로 주어진다.) 한 번의 pop과 한 번의 insert 작업은 1회 수행한 것으로 간주한다. 제한 사항 1 ≤ queue1의 길이 = queue2의 길이 ≤ 300,000 1 ≤ queue1의 원소, queue2의 원소 ≤ 109 주의: 언어에 따라 합 계산 과정 중 산술 오버플로우 발생 가능성이 있으므로 long type 고려가 필요합니다. 입출력 예 queue1 queue2 result [3, 2, 7, 2] [4, 6, 5, 1]..
-
[Django] Bootstrap5 vscode 적용하기Programming/Django 2022. 8. 31. 12:47
설치 방법은 1. django bootstrap5 설치 2. compiled CSS and JS download 해서 프로젝트에 적용 3. npm 이용한 bootstrap dist 적용 세가지가 있다. 이외의 방법도 있다. 이번 포스팅에서는 1, 2번 내용을 담아봤습니다~ 1. django bootstrap5 설치 (1) pip를 이용하여 설치 python -m pip install django-bootstrap5 (2) setting.py 추가 INSTALLED_APPS = ( # ... 'django_bootstrap5', # ... ) 2. compiled CSS and JS download (1) Bootstrap 공식 사이트에서 Compiled CSS and JS 파일을 download Down..
-
[Django] Bootstrap5 정의 및 적용하기1Programming/Django 2022. 8. 31. 12:36
Bootstrap이란? 트위터에서 사용하는 각종 레이아웃, 버튼, 입력창 등의 디자인을 CSS와 Javascript로 만들어 놓은 것이다. 부트스트랩은 전세계적으로 가장 많이 사용되는 오픈소스 CSS 프레임워크이다. 반응형 CSS 를 제공한다. Bootstrap 적용 방법 외부 스타일시트로 적용(jsDelivr) 소스 다운로드하여 로컬환경에 적용 1. 외부 스타일시트로 적용(jsDelivr) 부트스트랩의 이벤트에 반응하는 구조를 사용하기 위해서는 jQuery를 비롯한 몇몇 자바스크립트 라이브러리가 필요하다. 자바스크립트 라이브러리도 jsdelivr 링크를 통해 사용할 수 있다. integrity, crossorigin 속성은 암호화 데이터를 위한 보안 요소로 추가되었다. Bootstrap Check Po..