전체 글(78)
-
string 라이브러리
std::string word = "fred"; //using namespace std; 사용시 string wordd = "fred"; 선언과 동시에 초기화, class -> string, instance -> word, initiated data -> "fred" word.length(); 객체(instance)의 길이를 반환하는 메소드. word[0]; 객체에 operator []를 사용하여, 각 index의 character를 반환할 수 있다. std::cout
2020.09.23 -
insert name
@운영체제가 갖춰져 있는 기계와 그렇지 않은 것. 기능의 향상 가능성 여부에 따라 다르다. ex) 유선전화기와 스마트폰의 차이가 있다. 둘 다 전화기이지만 유선전화기는 통화만 가능하고 스마트폰은 새로운 프로그램을 설치하여 다양한 기능을 사용할 수 있다. @운영체제의 역할 #자원관리(Resource management) 자원이란 하드웨어와 동일한 단어이다. (Resources = hardware) ex)예를 들어 워드프로세서와 채팅 프로그램을 동시에 실행하는 경우를 생각해보자. 두 응용 프로그램은 노미터와 키보드를 필요로 하기 때문에 한 응용 프로그램이 CPU나 모니터를 독차지하려 하거나 다른 응용 프로그램을 파괴하려 할 것이다. 이러한 문제를 해결하려면 자원을 관리하는 강력한 중재자가 필요하다. 이 중재..
2020.09.23 -
디버깅
@디버깅이란 런타임 에러를 잡아내는 가장 좋은 방법이다. 컴파일 에러는 뭐 syntax 에러이니 명확하다고 쳐도, 런타임 에러는 개발자가 하나하나 변수를 모니터링하는 방법밖에 없다. @대충은 알고있는데 정확히 알아보자 @중단점을 설정하면 해당 중단점의 시작에서 멈춘다. 따라서 다음과 같은 그림으로 실행되었다고 생각하면 된다. 중단점을 기준으로 그 위까지만 실행된 것. 따라서 for문에 아직 입장하지 못했다. @ 한 단계씩 실행과 프로시저 단위 실행은 내부 함수를 어떻게 처리하냐에 따라 다르다. 한 단계씩 실행은 해당 statement에 함수가 있다면, 그 함수로 가서, 한 단계씩 실행하고 함수를 나온다. 하지만 프로시저 단위 실행은 함수를 무시하고 그저 한 줄 씩 읽는다 @지금은 일단 변수 감시용도로 사용
2020.09.18 -
빌드,컴파일
@어떻게 실행파일. exe를 만드는가? @1은 editor를 의미한다. 뭐 메모장이 될 수도 있겠고, IDE가 될 수도 있겠당(Visual Studio,eclipse 등..) 여기까지 행하면 .cpp 파일을 생성한다. @2는 preprocessor를 의미한다. #include #include "UnsortedType.h" #defien MAX_ITEMS 100 위 3줄이 모두 전처리기를 의미한다. @3은 컴파일 타임을 의미한다. 즉 우리가 1에서 만든 소스코드를 바이너리 코드로 바꿔주는 일을 뜻한다 (컴퓨터가 알아먹는 단어로 만들기). 여기까지 행하면 .obj 파일을 생성할 수 있다. @4는 여러외부 프로그램들을 엮는 행위라고 하는데 우리는 밑의 그림으로 이해하자. @이건 솔루션-프로젝트를 그저 생성만 ..
2020.09.18 -
main함수의 아규먼트// argc & argv
@예제 코드를 보면서 배워보자 #include using namespace std; int main(int argc, char* argv[]) { cout
2020.09.18 -
Big O notation
@어려운 말은 차치하고 n이 클수록, 동작하는데 오래 걸리는 코드라 생각하자. @이때, BigO는 N개의 아이템을 K(최악의 상황)번 탐색 했을 때의 lhs가 1이 된다는 것에서 K는 무엇이 되는가 = 최악의 상황일때, K는 어떻게 표현되는가. @rule 생성된 시간복잡도 식에서 상수와 최고차항이 아닌 것은 제외한다. @예시를 통한 이해 1. for문 for(int i=0;i K = N-1 O(N) 3. binary search 1번의 operation시, N은 N/2로 줄어든다. 2번의 operation시,N은 N/2 * 1/2 로 줄어든다. K번의 operation시 N은 N/2 * (1/2)^K로 줄어든다. 따라서 양변에 로그를 씌우면 K = log2(N)이다. O(log2(N)) ###추가 1번시..
2020.09.15