All Posts

[Discrete Mathematics] 여러가지 증명(proof) 및 수학적 귀납법
·
Mathematics/Discrete Mathematics
수학적 체계 공리 (Axioms)증명없이 참으로 받아들여지는, 즉 다른 명제로부터 연역되지 않는 명제를 말한다.정의 (Definitions)기존 개념을 사용하여 어떠한 개념의 의미를 규정하는 것이다. 수학적 방법을 통해 좀 더 명확히 표현 가능하다.무정의 용어 (Undefined Terms)명시적으로 정의되지 않으며, 공리나 직관에 의해 암묵적으로 이해되는 기초적인 용어이다. 다른 개념을 설명하기 위해 필요한 기본 용어로, 순환 오류를 방지하기 위해 명시적으로 정의하지 않는다. 예를 들어, 집합론에서의 '집합'이나 기하학에서의 '점'과 '선'이 무정의 용어에 해당한다.정리 (Theorem)공리, 정의를 기초로 연역적으로 이끌린 명제로 참임이 증명된 명제이다.보조정리 (Lemma)다른 정리를 증명하는 데에..
[Data Structure] 재귀(recursion)와 반복(iteration)
·
Data Structure & Algorithm/Data Structure
재귀 (Recursion) 재귀함수는 정의 단계에서 자신을 재참조하는 함수를 뜻한다. 가장 대표적 예가 팩토리얼, 피보나치 수열이다. 팩토리얼은 아래와 같이 정의된다.$$ n ! = \begin{cases} 1 & \quad n = 0 \\ n \times (n-1) ! & \quad n \geq 1 \end{cases} $$ $ n ! $ 을 계산하기 위해 $ (n-1) ! $ 을 계산하는 것이다. 결국 팩토리얼 계산을 위해 다시 팩토리얼을 계산해야 한다.피보나치 수열 역시 아래와 같이 정의되기 때문에 재귀함수라 할 수 있다.$$ F_0 = 0, \quad F_1 = 1, \quad F_{n+2} = F_{n+1} + F_{n} $$$ F_{n+2} $ 를 계산하기 위해 $ F_{n+1} $ 과 $ F..
[Linear Algebra] 역행렬 계산과 기본행렬
·
Mathematics/Linear Algebra
역행렬 (Inverse Matrix) 실수 영역에서 어떤 수에 곱했을 때 결과값을 1 로 만드는 역수가 있다면, 행렬에서는 곱했을 때 결과 행렬을 단위행렬로 만드는 행렬이 있고, 이 행렬을 역행렬이라 한다. 즉 어떤 $ n $ 차 정사각행렬 $ A $ 가 있을 때 아래를 만족하는 행렬 $ B $ 를 역행렬이라 하며, $ A^{-1} $ 로 나타낸다.$$ AB = I_n = BA , \quad B = A^{-1} $$이렇게 역행렬이 존재하는 행렬을 정칙행렬(nonsingular matrix) 혹은 가역행렬(invertible matrix)이라 한다. 역행렬이 존재하지 않을 수 있는데, 이 경우는 특이행렬(singular matrix) 혹은 비가격행렬(noninvertible matrix)이라 한다. 실수 ..
[Baekjoon 9414] 프로그래밍 대회 전용 부지 | Python
·
Online Judge/Baekjoon
https://www.acmicpc.net/problem/9414문제 각 테스트 케이스에 따라 규칙적으로 증가하는 땅값을 확인하고, 구매할 수 있다면 구매하는데 필요한 비용을, 구매할 수 없다면 "Too expensive"를 출력하는 문제이다. 풀이 파이썬은 데이터의 크기에 따라 메모리를 동적으로 할당하기 때문에 큰 수를 다루기 용이하다. 따라서 문제 그대로 모든 땅값을 구하고, 상근이 가진 돈과 비교해서 너무 비싸면 "Too expensive"를 출력하면 된다. 만약 C++, Java 와 같이 데이터 타입에 따라 범위가 정해져 있는 언어를 사용한다면 땅값을 더해주면서 상근이 가진 돈과 비교하면 되겠다.땅값을 구하는 공식은 $ 2 \times (L_i)^t $ 인데, 해가 지날수록 기하습수적으로 증가한다..
[Linear Algebra] 가우스-요르단(Gauss-Jordan) 소거법
·
Mathematics/Linear Algebra
기본 행 연산과 행동치 연립 방정식 풀이연립 일차방정식을 풀 때 각 방정식끼리의 연산을 통해 풀기 쉬운 방정식으로 변환하여 풀이하는 것이 일반적이다. 예를 들어 아래와 같은 연립 일차방정식이 있다고 가정하자.$$ \begin{cases} 3x +  6x_2= 15 & \cdots (1) \\ -x + 7x_2 = 4 & \cdots (2) \end{cases} $$이 연립 방정식을 아래와 같이 풀 수 있을 것이다.$ (2) \times 3 $$$ \begin{cases} 3x + 6x_2 = 15 & \cdots (1) \\ -3x + 21x_2 = 12 & \cdots (2) \end{cases} $$$ (1) + (2) $$$ \begin{cases} 3x + 6x_2 = 15 & \cdots (1)..
[Baekjoon 14381] 숫자세는 양 (Small) | Python
·
Online Judge/Baekjoon
https://www.acmicpc.net/problem/14381문제 각 테스트 케이스에 대해 입력을 받고, 주어진 규칙에 따라 숫자를 기록한 후, 조건에 부합하면 해당 숫자를 출력하는 문제이다.주어진 규칙은 주어진 수를 1, 2, 3 으로 곱해나가면서 각 자리 수에 있는 숫자를 기록하는 것이고, 조건은 그렇게 기록된 숫자가 0 부터 9 까지 있을 때 이다.  풀이 입력을 받고, 1 부터 시작해서 계속 곱해나가며 각 자리 수에 있는 숫자를 기록하면 된다. 단 입력으로 0 이 들어오게 되면 무엇을 곱해도 0 이 되어 0 부터 9 까지 수를 기록할 수 없으므로 조건에 따라 INSOMNIA 을 출력한다.기록할 때는 set 을 이용하여 집계하면 편할 것 같아 set 을 사용하면 좋을 듯 하다. 0 부터 9 까..
[Data Structure] 자료구조 및 알고리즘 정의와 자료구조의 종류
·
Data Structure & Algorithm/Data Structure
자료구조와 알고리즘 자료구조는 효율적인 접근 및 수정을 가능하게 하는 자료의 조직, 관리, 저장에 관한 것이다. 예를 들어, 선입선출 방식이 필요한 데이터가 있다면 이러한 데이터를 효율적으로 관리하기 위해 큐(queue)라는 선입선출형 자료구조를 활용할 수 있다.알고리즘은 문제를 해결하는 절차나 방법을 자세히 설명하는 과정이다. 자연어, 흐름도(flow chart), 슈도코드(pseudo-code), 프로그래밍 언어 등으로 표현할 수 있다. 효율적인 알고리즘을 설계하기 위해서는 시간 복잡도와 공간 복잡도 등을 고려해야 한다.프로그램은 이러한 자료구조(혹은 자료)와 알고리즘이 결합된 결과물이다. 예를 들어 계산기 프로그램을 만든다고 가정하자. 계산기 프로그램을 개발하기 위해서는 우선 계산에 필요한 데이터 ..
[C++] 클래스(class)와 객체(object) 선언
·
Language/C & C++
클래스와 객체 선언 및 접근 클래스는 객체를 생성하기 위해 정의된 틀이다. 구조체와 유사하나 멤버 함수, 상속 등의 개념이 더해져있다. 클래스 내부에서는 멤버 변수와 멤버 함수 선언이 이루어진다. 멤버 변수 초기화값을 설정하여 멤버 변수의 초기값을 정해줄 수 있다.객체는 클래스를 통해 생성된 것이다. 멤버 변수와 멤버 함수로 구성되며 메모리에 생성된다. 실체(instance)라고도 부른다. 하나의 클래스를 통해 여러 개의 객체 생성이 가능하며, 이렇게 생성된 객체들은 각각 별도의 메모리 공간에 할당된다.클래스 선언부(declaration)는 class 키워드와 함께 앞서 언급한 바와 같이 멤버 변수와 멤버 함수의 선언으로 이루어진다. 클래스 구현부(implementation)에서는 클래스에 선언된 멤버 ..
[Discrete Mathematics] 한정기호(quantifiers) 및 다중 한정기호
·
Mathematics/Discrete Mathematics
명제함수 (Propositional Function) 혹은 술어 (Predicate) 명제는 참이나 거짓이 결정되어 있어야 한다. 예를 들어 " $ P $ : $ n $ 은 짝수이다" 같은 형태는 $ n $ 에 따라 $ P $ 가 True 혹은 False 로 결정되기 때문에 명제라 할 수 없다.이러한 문장 " $ P $ : $ n $ 은 짝수이다"를 바꾸어서 $ P(x) $ 와 같이 형태로 표현할 수 있다. 이 $ P(x) $ 와 집합 $ D $ 가 주어졌을 때, 각 $ x \in D $ 에 대해 $ P(x) $ 가 명제이면 $ P $ 를 ($ D $ 에 대한) 명제함수, 혹은 술어라 한다. 또한 $ D $ 를 $ P $ 의 논의영역(the domain of discourse)이라 한다. 전칭한정 (Un..
[Visual Studio] Visual Studio 한글 UTF-8 인코딩 설정
·
IDE & Editor/Visual Studio
문제 윈도우에서는 한글을 인코딩할 때 EUC-KR로 인코딩하지만, 대부분 프로그램들은 UTF-8 인코딩을 사용한다. 따라서 Visual Studio 에 입력할 때는 EUC-KR로 입력되고, 콘솔에서 처리될 때도 EUC-KR로 처리되어 Visual Studio 자체에서는 문제없이 동작하지만, git 을 이용하여 코드를 공유하거나, Visual Studio 외 IDE 나 editor 에서 수정하려하면 한글 인코딩 문제로 한글이 깨져보이게 된다. 영어로 작성하면 문제는 없지만, 한글을 사용해야 한다면 Visual Studio, 혹은 윈도우 인코딩을 변경해주어야 한다. Visual Studio 설정 Visual Studio를 열어 아래와 같이 프로젝트를 우클릭하여 New EditorConfig 를 클릭해준다. ..
애스터로이드
'분류 전체보기' 카테고리의 글 목록 (16 Page)