목록분류 전체보기 (366)
Machineboy空

1. 역행렬(Inverse Matrix)행렬은 큰 관점에서 선형변환을 시키는 함수의 개념이기 때문에 역행렬도 역함수에 대응해 생각할 수 있다.항등 행렬(Identity Matrix)* 항등 함수 = 정의역과 치역의 결과물이 같은 것 선형 변환의 결과가 변함없는 행렬.두 표준 기저벡터 e1, e2의 값이 동일하게 유지되는 선형 변환을 의미한다.역행렬이란?선형 변환된 결과를 거꾸로 돌려주는 선형 변환. 이를 합성한 결과는 항등 변환이 된다.2. 역행렬의 계산 방법행렬식(Determinant)아래 연립방정식의 해는 존재하지 않는다.ad-bc = 0이 되고, 이는 해가 없음을 의미한다. 어째서인가?위 변환을 분석하면 표준기저벡터 e1, e2는 각각(2,1),(1,0.5)로 변환되었는데,이 둘은 같은 기울기를 가..
문제요약3,5,7의 배수인지 살피고 조건에 맞는 문자를 출력하라! 난이도Easy풀이 포인트나는 Flag로 중복을 방지했다모범 풀이는 애초에 정해진 길이의 StringBuilder를 사용했다.REVIEW 이런 난이도가 쉬운 문제는 아이디어에 따라 꽤 코드가 달라진다.나는 Flag로 해당 조건이 이미 만족되었는지를 체크했다. 45줄은 된다.그런데 모범 풀이는 더욱 가독성 좋게 15줄로 해결했다..그래서 기록해둔다!CODEusing System.Globalization;using System.Text;public static class Raindrops{ public static string Convert(int number) { var drops = new StringBuilder(1..

문제요약주어진 key에 맞게 원본 문자열을 변형시킨 암호를 출력하라.난이도Medium풀이 포인트random 키 생성아스키 코드 활용문제 이해REVIEW 문제 이해를 한참 못했다.Step 2 그러니까 a: 0 , d:3 의 식으로 암호에 따른 shift가 어떻게 이루어진다는 것인지 이해하는 데 오래 걸렸다.그리고 순환되는 값에는 나머지를 잘 활용해야한다는 것! 또 명심. 뭔가 익숙해진듯, 계속 까먹는 아이디어들이 생긴다.CODEusing System;public class SimpleCipher{ private string key; // 기본 생성자 (랜덤 키 생성) public SimpleCipher() { Random rand = new Random(); ..
IDisposable을 활용한 resource-cleanup 자원해제use the IDipose interface to signal that some object's resource or other program state needed to be released or reset when the object was no longer requiredrelying on the garbage collector would not achieve this or provide the required level of control가비지 컬렉터더 이상 사용되지 않는 객체를 자동으로 메모리에서 제거하는 역할.메모리 누수를 방지하고 사용가능한 메모리를 확보할 수 있다.하지만 이러한 가비지 컬렉터는 데이터 베이스 연결이나, 네..

1. 행렬(Matrix)행렬의 단순 정의사각형 안에 수를 행렬과 열에 맞춰 배열한 것.복잡한 선형 변환의 식을 계산하기 편하게 단순화시킨 계산 도구선형 변환의 표현함수로서의 행렬: 2 X 2 Matrix벡터로서의 행렬: 2 X 1 Matrix행렬의 기본 연산들행렬과 행렬의 덧셈 연산행렬과 스칼라의 곱셈 연산행렬의 전치(Transpose) 연산행렬과 행렬의 곱셈 연산행렬 곱셈 연산의 특징교환 법칙을 만족하지 않는다.결합 법칙은 만족한다. 행렬 곱의 전치 연산분배법칙을 만족한다.2. 선형 변환과 행렬벡터 공간의 특징을 그대로 유지하면서 선형성을 띄고, 새로운 공간으로 변환되는 과정(선형 변환)이 행렬에 대응된다. 정방행렬과 열벡터의 곱셈이의 결과는 무엇을 의미하는가?정방 행렬은 같은 차원의 공간이 서로 대응..

Circular Buffer란?생산자와 소비자 처리 사이의 통신에 버퍼를 제공하기 위해 일정량의 기억 장치를 할당한다.그 로직이 원형으로 형성되는 버퍼를 말한다.고정적인 크기: queue with a maximum size, constrained size or capacity, stores data in a fixed-size array원형으로 탐색: continue to loop back over itself in a circular motionCircular Buffer의 작동 방식두 개의 포인터(front, back)로 읽을 위치, 삭제할 위치, 쓸 위치 등을 정한다.storing two pointer to the front and back of the structure버퍼가 모두 차면 가장 오래된..

형식 변환(Type Convension)과 캐스팅(Casting)Casting and type convension are different ways of changing an expression from one data type to another.Cast Operator() // (int), (Random) 같은 형식의 것들long l = 1000L;int i = (int)l;object o = (int)l;Random r = (Random)o; // 이건 안되거든 is를 사용한 casting이 필요 if types are not compatible, an instance of InvalidCastException is thrown형식이 호환되지 않으면 예외가 발생한다.숫자의 경우: 변환된 값을 받는 ..
부동 소수점 형식(Floating Point type)소수점이 고정되어 있지 않고 움직이면서 수를 표현한다.소수점을 이동해 수를 표현하면 고정했을 때보다 더 제한된 비트를 이용해서 훨씬 넓은 범위의 값을 표현할 수 있기 때문3.14, 11.08 등과 같은 소수소수점을 표현하기 위해 일부 비트를 사용하기 때문에(게다가 부호도 표현해야 한다) 같은 크기의 정수 계열 형식과 같은 크기의 수를 표현할 수 없다.산술 연산 과정이 정수 계열 형식보다 복잡해서 느리다.float, doubleIEEE754 C#의 float과 double은 IEEE754라는 표준 알고리즘에 기반한 데이터 형식4byte(32bit)의 float형식의 수를 표현할 때1 bit : 부호 전용23 bit: 기수부: 수를 표현8bit: 지수부:..