[수학] 점 3개의 관계 파악하기
점 3개의 관계 파악하기 한 평면에서 점 3개가 있을 때, 이 점들의 관계를 확인하기 위해 외적이 사용됩니다. 외적은 2개의 벡터가 동시에 수직인 벡터의 결과를 확인할 수 있는 연산입니다. 오른손 법칙을 이용해 2개의 점으로 이루어진 벡터와 나머지 1개 점이 어떠한 관계인지 파악할 수 있습니다. 예를 들어, 위와 같은 A→B, A→...
점 3개의 관계 파악하기 한 평면에서 점 3개가 있을 때, 이 점들의 관계를 확인하기 위해 외적이 사용됩니다. 외적은 2개의 벡터가 동시에 수직인 벡터의 결과를 확인할 수 있는 연산입니다. 오른손 법칙을 이용해 2개의 점으로 이루어진 벡터와 나머지 1개 점이 어떠한 관계인지 파악할 수 있습니다. 예를 들어, 위와 같은 A→B, A→...
이더넷이란 여러 통신 장치가 연결된 네트워크 환경 을 이더넷이라고 합니다. 통신 장치의 고유주소인 MAC Address(16진수로 표현된 48비트의 고유주소)를 가지고 OSI 7계층 중 물리 계층 과 데이터 링크 계층 에서 사용되는 통신기술입니다. 물리 계층에서는 데이터의 물리적 신호 변환과 데이터가 이동할 배선을 담당하고 데이터 링크 계층에서는 데...
부분 문제 나누기 동적 프로그래밍은 한 문제를 여러 문제로 나누어 해결 하는 기법입니다. 처음 동적 프로그래밍(이후 DP)을 접한 분들은 시작부터 막막하실 수 있습니다. “한 문제를 어떻게 여러 문제로 나눈다는 거지?” 라고 당연히 의문이 생기실 겁니다. DP 문제는 문제를 어떻게 나눌지 기준부터 정해줘야 풀이 방법이 보입니다. 대표적인 예시가 ...
너비 우선 탐색 너비 우선 탐색(Breadth First Search)은 넓게 탐색하는 알고리즘입니다. 너비 우선 탐색(이후 BFS)의 원리는 현재 노드의 자식 노드를 먼저 방문한다. 입니다. 미로를 예시로 설명 해보겠습니다. 저희는 어느 방에 있고 방에는 여러 개의 문이 있습니다. 원하는 방으로 이동하기 위해서 할 수 있는 행동은 현재 방에 있는 ...
일관성 없는 코드 문제의 코드를 보면 각 클래스 설계에 일관성이 없는 것을 확인할 수 있습니다. 이 문제점을 해결하고자 이번 포스트를 기획하게 되었습니다. 코드 개선 작업은 다음의 목표를 두고 진행합니다. 리팩토링 기능 개선 리팩토링 작업에서는 객체 지향에 맞게 수정하고 기능 개선 작업에서 기존 기능을 변경하거나 새로운 기능을 추가하는...
프로그램 개발 순서 코딩 테스트는 개발자의 개발 역량을 파악하기에 좋은 기준입니다. 코딩 테스트를 준비하기 위해서는 핵심적인 부분을 반드시 학습 후 시작할 것을 추천합니다. 준비 방법의 순서는 다음과 같습니다. 자료구조와 알고리즘 복잡도 계산 알고리즘 문제 풀이 작성한 코드 분석 프로그램 제작의 설계 단계에서 프로그래머는 ...
Computer Science “코더와 개발자를 구분하는 기준 중 하나는 컴퓨터 구조를 알고 있느냐에 있다.” IT의 발전과 수요에 따라 많은 프로그래머들이 탄생하고 있습니다. 그러나 다른 프로그래머 보다 더 빠르게 성장하기 위해서는 기본적인 컴퓨터 구조 지식이 필수입니다. 따라서 CS 카테고리에서는 컴퓨터 구조의 일부분을 설명하는 포스팅을 올리...
요구사항 분석 여러 문자들이 섞여있는 문자열이 입력될 때, 이 문자열 속 소괄호와(“()”) 대괄호(“[]”)의 짝이 옳바른지 확인하는 문제입니다. 알고리즘 선택 괄호를 확인할 때, 입력된 순서의 역순으로 반대편 괄호가 있어야 짝이 성립되는 것이므로 FILO 구조의 컨테이너인 STACK 을 사용하여 구현하였습니다. 풀이 분석 #includ...
요구사항 분석 절사평균으로 제거된 숫자들 외의 숫자들의 평균값을 출력하는 문제입니다. 이때 절사평균, 숫자 평균 등 여러 실수들이 사용되는데 여기서는 모두 반올림을 사용하도록 합니다. 알고리즘 선택 절사평균은 정렬된 표본의 앞, 뒤를 제거하는 연산이므로 컨테이너 중 head와 tail에서 모두 연산이 가능한 list를 사용하였습니다. 그리고 ...
요구사항 분석 N개의 단어들을 2가지의 정렬 방법에 따라 정렬 후 출력하는 문제입니다. 단어의 길이를 오름차순으로 정렬합니다. 같은 길이의 단어는 사전순으로 정렬합니다. (동일한 단어는 1회만 출력합니다.) 위의 정렬 방법을 지켜 단어를 정렬하되 단어의 수는 20,000개 이하이고 각 단어의 길이은 50을 넘기지 않습니다. 알고리즘...