1. 메모리 누수란? 개인적으로 필자가 cpp를 처음 공부할 때 이해하기 어려운 개념중에 하나였다. 메모리가 샌다는거 자체가 무슨말인데?? 메모리가 액체야? 그래서 새면 어떻게 되는건데??? 결론부터 말하면 메모리누수란 "프로그램이 동적으로 할당한 메모리를 반환하지 않고 계속해서 쌓이는 현상" 을 말한다. 직관적으로 설명하면 여러분들한테 "배낭" 이라는 메모리가 있다고 가정하자. (여러분은 집에서 출발한다!!!) 정적과 동적은 따로 글을 쓸 필요가 있지만 여기서 간단하게만 설명을 하면 정적으로 배낭에다 물건을 넣는 행위 == 여러분이 집에서 나올 때 필요할 것 같은거 미리 정해서 챙겨나오는 것 동적으로 배낭에다 물건을 넣는 행위 == 길을 걸으면서 그때 그때 상황에 맞춰 길에 있는거 주워다 배낭에다 넣..
1. 하드코딩이란? 하드코딩은 코드내에 직접 값을 고정적으로 지정하는 것을 말한다. 주로 값, 구문, 경로 3가지가 주요하다. 간단한 예시를 통해서 보면 #python print("hello world!") 여기서 우리는 "hello world!" 를 출력하도록 고정적으로 지정해줬다. 이렇게 되면 다른 메세지를 출력하고 싶으면 코드 자체를 수정해줘야한다. (ex) print("goodbye world!") 다른 예시로는 //JAVA int discount = 10; totalPrice = originalPrice - (originalPrice * (discount / 100)); 이런 코드가 있다고 가정하자 여기서 우리는 상품의 할인율을 10%로 강제하여 discount 라는 변수에 할당해주었다. 마찬가..
0. 찾아보게 된 계기 vscode 같은 에디터를 사용하다보면 아래 이미지와 같이 붉은 밑줄등으로 내 코드의 문법상 오류나 도달할 수 없는 값 등을 알려주는 경우가 있다. 컴파일러든 인터프리터든 난 코드를 실행시키거나 컴파일한 적이 없는데, 어떻게 가능한 건지 궁금했었다. 에디터는 어떤 원리로 내 코드를 감시하는 거지? 실시간으로 나 몰래 실행시키나? 찾아보니 린터(linter) 다른 말로는 린트(lint) 라는 도구가 내가 작성한 코드를 정해진 규칙에 맞게 검사해주고 있다는 것을 알았다. 사실 위 경우는 특별한 린터를 설치했다기보다는 vscode가 제공하는 기본 문법검사기가 찾아준 것이지만 위 검사기 또한 간단한 린터로 볼 수 있다고 한다. 1. 린터란? 다양한 정의들이 많지만 결국 요약하면 "코드를 ..
1. 연립하는 이유 식 하나에 미지수가 2개 있으면, 미지 수의 경우의 수에 따라 해의 개수가 무한으로 발산하므로 (수의 조건 제한 없다는 전제 하에) 미지수를 소거하여 일원 일차방정식으로 만들어 해를 찾는 방정식 풀이의 하나이다. 개념이 어려운 부분은 딱히 없고, 굳이 따로 빼서 정리할 부분도 없는 것 같아서 재미있게 풀었던 문제 2개만 리뷰한다. 2 . 재밌게 풀었던 두 문제 문제(1) : \(3x + 5y = 90 ~을 ~만족하는~ 자연수~ x,~y의 ~ 값을~구하여라.\) \(3x = 90 - 5y \) \(3x = 5(18 - y) \) 여기서 x는 5의 배수임을 알 수 있으므로 \(x = 5k \)라 두면 \(3*5k = 5(18-y) \) \(3k = (18-y) \) \(y = 18 - 3..
1. 정의 \( 2x + 4x = 6x \) 처럼 어떤 x값에도 항상 성립하는 등식은 항등식 \(2x + 4x = 6\) 처럼 x = 1 같은 특정한 값에만 성립하는 등식을 방정식이라고 한다. 식에서 \(ax + by = cz \) 같이 여러개의 문자가 섞여 있을 경우도 있으므로 특정 "문자"에 관한 방정식 이라는 표현을 사용하여 미지수를 정한다. ex) x에 관한 방정식, a에 관한 방정식 또한 미지수의 차수에 따라 방정식을 n차 방정식이라 부른다. 방정식의 경우 특정한 값을 "근", 또는 "해"라고 부르며 이 값을 찾는 것을 "방정식을 푼다." 라고 한다. 2. 해를 찾는 방법 대학 시절 미분적분학 때 기억이 잘 안나는데 고등학교 수준에서는 해를 찾는 방법을 1) 인수분해를 이용해서 찾기 2) 근의 ..
1. 허수단위 i 실수 범위에서는 제곱하여 음수를 구할 수 없다. 그래서 수의 확장이 필요한데, 그걸 복소수라 하며 복소수 중 허수의 단위는 \( i \)다. \( i^2 = -1\) 로 정의한다. 2. 켤레복소수 복소수 \( z= a +bi\) 가 있다고 했을 때, 허수부분의 부호만 반대인 복소수를 의미한다. 복소수 : \( z= a +bi\) 켤레복소수 : \( z= a -bi\) 3. 제곱근 계산시 주의할 점 임의의 두 실수 a,b가 양수일 때 \(\sqrt{a}>0, ~\sqrt{b}>0 \) 면 \(\sqrt{a}\sqrt{b} = \sqrt{ab}, ~~\frac{\sqrt{a}}{\sqrt{b}} = \sqrt{\frac{a}{b}}\) 이 성립한다. 그런데 복소수로 수의 범위를 확장하면 루..