CS

CS/Algorithm

제곱근이 무엇인가? 소수 판별에 사용하는 이유 알아보기

소수란 무엇인가?  소수는 수학의 기본적인 개념이면서도 흥미로운 특성을 가진 숫자입니다. 1과 자기 자신 외에는 어떤 자연수로도 나누어떨어지지 않는 수를 소수라고 하는데요. 예를 들어, 7은 소수이지만 8은 2, 4로 나누어떨어지므로 소수가 아닙니다. 소수는 어떻게 판별할까?  소수를 판별하는 가장 단순한 방법은 주어진 숫자를 2부터 시작해서 차례대로 나누어 보는 것입니다. 하지만 이 방법은 숫자가 커질수록 계산량이 기하급수적으로 늘어나 매우 비효율적입니다. 제곱근을 이용한 소수 판별  소수 판별에 제곱근을 사용하는 핵심적인 이유는 계산 효율성을 높이기 위해서입니다. 그 이유를 설명하기 위해서는 제곱근의 특징을 이해해야 하는데요, 그 이유는 다음과 같습니다. 약수의 대칭성: 어떤 수를 두 개의 수로 나눌..

CS/Network

[ Web Server ] 아파치 (Apache)란 무엇일까?

아파치에 대하여 아파치(Apache)는 아파치 소프트웨오 재단에서 만드는 웹서버 프로그램이다. 아파치는 유닉스 기반으로 만들어져 있으며 따라서 리눅스 기반의 OS대부분의 OS에서 아파치를 지원한다. 또한 아파치는 비교적 구축이 쉽다는 장점과 오픈 소스이기 때문에 무료로 활용할 수 있어 대부분의 중소기업이 아파치를 활용하고 있다. 아파치는 고성능의 HTTP 서버이며, 정식 이름은 아파치 HTTP 서버(Apache HTTP Server)지만 아파치 서버로 많이 알려져 있다. 안정성과 확장성, 호환성이 매우좋고, 개선된 패치파일을 꾸준하게 제공하고 있기 때문에 웹 서버용 소프트웨어로 전 세계에서 가장 높은 점유율을 가지고 있다. 아파치의 특징 아파치 웹서버는 무료 오픈소스이다. 확장성, 호환성, 이식성, 안정..

CS/Data Structure

[ 자료구조 ] 큐(Queue)란 무엇일까?

큐(Queue)란 무엇일까? 이쯤되니 자료구조는 우리 생활에 꾀나 밀접한 체계라는 것을 알 수 있습니다. 우리가 놀이동산에 가거나 화장실에서 줄을 설 때, 자연스럽게 내 차례를 기다립니다. 차례대로 줄을 선다는 것은 먼저 온 사람은 먼저 들어 갈 수 있다라는 사회적 약속이기 때문이죠 큐(Queue)는 이와 같은 자료구조입니다. 즉, 큐(Queue)는 선입선출(LILO: Last In Last Out)의 특징을 가지고 있습니다. 코드를 통해 알아보도록 하겠습니다. Queue queue = new LinkedList(); //int형 queue를 선언합니다. queue.add(1); // queue에 값 1 추가 queue.add(2); // queue에 값 2 추가 queue.add(3); // queue..

CS/Data Structure

[ 자료구조 ] 스택(Stack)이란 무엇일까?

스택(Stack)이란 무엇일까? 스택(Stack)이란 위에 사진과 같이 겹겹이 위로 쌓여진 형태를 뜻한다. 차곡차곡 쌓아놓은 물건을 안전하게 사용하는 방법은 위에서부터 물건을 다시 꺼내야한다. Stack은 이러한 상황에 알맞게 활용할 수 있는 자료구조다. 즉, LIFO(Last In First Out) 혹은 FILO(First In Last Out)의 형태를 가지고 있는 자료구조입니다. 스택(Stack)의 특징 LIFO(Last In First Out) stack은 push로 데이터를 집어 넣고, pop으로 데이터를 꺼냅니다. Stack stack = new Stack(); //Integer형 스택 선언한다고 가정합니다. stack.push(1); stack.push(2); stack.push(3); s..

Kangharyeom
'CS' 카테고리의 글 목록