All Posts

[Linear Algebra] 가우스-요르단(Gauss-Jordan) 소거법
·
Mathematics/Linear Algebra
기본 행 연산과 행동치 연립 방정식 풀이연립 일차방정식을 풀 때 각 방정식끼리의 연산을 통해 풀기 쉬운 방정식으로 변환하여 풀이하는 것이 일반적이다. 예를 들어 아래와 같은 연립 일차방정식이 있다고 가정하자.{3x+6x2=15(1)x+7x2=4(2)이 연립 방정식을 아래와 같이 풀 수 있을 것이다.(2)×3{3x+6x2=15(1)3x+21x2=12(2)(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] 자료구조 및 알고리즘 정의와 자료구조의 종류
·
Computer Science and Engineering/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 가 주어졌을 때, 각 xD 에 대해 P(x) 가 명제이면 P 를 (D 에 대한) 명제함수, 혹은 술어라 한다. 또한 DP 의 논의영역(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 를 클릭해준다. ..
[Linear Algebra] 행렬의 분할과 연립 일차방정식
·
Mathematics/Linear Algebra
행렬의 분할 하나의 행렬을 가로선과 세로선을 이용해서 몇 개의 블록으로 분할 가능하다. 이렇게 분할된 블록들을 행렬로 나타낼 수 있고, 이 행렬들을 원래 행렬의 부분행렬(submatrix)이라 한다. 또한 부분행렬의 성분으로 나타낸 원래 행렬을 블록행렬(block Matrix)라 한다.예를 들어 아래와 같은 행렬이 있다고 가정하자.A=[4270052195022637]위 행렬을 임의로 분할해 아래와 같이 만들 수 있다.$$ A = \begin{bmatrix} \begin{array}{cc:cc} 4 & 2 & 7 & 0 \\ 0 & 5 & 2 & 1 ..
[Java] 연산자 우선순위
·
Language/Java
연산자 연산자는 데이터를 처리하거나 연산을 수행할 때 사용되는 기호나 키워드이다. 연산자는 하나 이상의 피연산자와 결합되어 수식을 이루며, 수식은 연산자가 적용된 결과값을 반환한다.특히, 수식에 여러 개의 연산자가 포함되어 있을 때, 어떤 연산자를 먼저 적용하느냐에 따라 결과값이 달라질 수 있기 때문에 연산자의 우선순위는 매우 중요한 개념이다. 이는 수학에서 사칙연산을 할 때, 곱셈과 나눗셈을 덧셈과 뺄셈보다 먼저 계산하도록 정해진 규칙과 같다.그러나 복잡한 수식의 경우, 괄호 () 를 사용하여 명시적으로 연산의 우선순위를 지정하는 것이 좋다. 이렇게 하면 코드의 가독성을 높이고, 실수를 줄일 수 있다. 따라서 연산자 우선순위를 일일이 암기하려고 하기보다는, 필요할 때 괄호를 적절히 사용하는 것이 더 효..
[Java] 기본 자료형 크기와 범위
·
Language/Java
자료형 자바에서 자료형은 데이터를 표현하고 정의한다. 따라서 자료형의 성질을 이해하지 못한다면 변수나 상수를 적절하게 사용할 수 없다.자바에서 자료형은 기본형과 참조형으로 나뉘는데 기본형은 다시 문자형, 정수형, 부동소수점형(실수형)으로 나뉘고, 참조형은 기본형을 제외한 클래스, 배열, 열거형 등이 모두 속한다. 참조 자료형 역시 기본 자료형을 기반으로 만들어지기에 자료형을 이해하고 프로그래밍을 하려면 기본 자료형에 대한 이해가 필수적으로 필요하다.자료형의 성질을 알아야 하는 이유는 컴퓨터의 자원이 한정적이기 때문이다. 큰 값을 저장하려면 많은 메모리가 필요한데, 무한정 메모리를 사용할 수 없으니 각 데이터에 맞는 메모리를 할당해주어 메모리를 효율적으로 사용해주어야 한다. 자바는 C 언어와 유사하게 변수..
[Discrete Mathematics] 논법(argument)과 추론 규칙(rule of inference)
·
Mathematics/Discrete Mathematics
논법 (Argument) 논법(혹은 논증)은 다음과 같이 제시된 일련의 명제들로 구성된다.p1p2pnqorp1,p2,,pn/q논법이 유효(valid)하려면 p1, p2, , pn 이 모두 참인 경우 q 도 반드시 참이어야 한다. 그렇지 않다면 논즈은 무효(invalid)이다. 앞선 명제, 즉 p1, p2, , pn 은 가설(hypotheses) 또는 전제(premises)라 하며, 명..
애스터로이드