본문 바로가기

전체 글

(228)
백준 1246 #include #include #include using namespace std;int main(void){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; cin >> n >> m; vector nums; for (int i = 0; i > num; nums.push_back(num); } sort(nums.begin(), nums.end()); int cnt = 0; int answer = 0; int idx = 0; for (int i = 0; i answer) { answer = nums[i] * (m - i); idx = nums[i]; } } else { if (nums[i] * n ..
백준 11004 #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int n, k; cin >> n >> k; vector nums; for (int i = 0; i > num; nums.push_back(num); } sort(nums.begin(), nums.end()); cout
백준 네번째점 #include using namespace std;struct Point{ long double x, y; Point() = default; Point(float X, float Y) : x(X), y(Y) { } Point operator+ (const Point& other) const { return Point(x + other.x, y + other.y); } Point operator- (const Point& other) const { return Point(x - other.x, y - other.y); } bool operator== (const Point& other) const { return x == other.x && y == other.y; } bool operator> q..
백준 회전하는 큐 #include #include #include #include using namespace std;int main(void){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; int cnt = 0; cin >> n >> m; deque de; for (int i = 0; i > num; for (int j = 0; j
07 - 보조기억장치 대중적인 보조기억장치로는 하드디스크와 플래시메모리가 있다.  다양한 보조기억장치 하드 디스크자기적인방식으로 데이터를 저장하는 보조기억장치.하드디스크의 구성 요소플래터 : 디스크에서 데이터가 실질적으로 저장되는 동그란 원판으로 저장 공간이다. 플래터는 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. 각각 0과 1의 역할을 수행한다.스핀들 : 플래터를 회전 시키는 구성 요소. 플래터 중앙에 위치하여 플래터를 회전 시키는데 이 속도를 RPM으로 표현.헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소. 플래터 위에 미세하게 떠 있는 채로 데이터를 읽기,쓰기 한다.디스크 암 : 헤드를 원하는 위치로 이동시키는 구성 요소.플래터가 데이터를 저장하는 방식 트랙 : 플래터를 여러 동심원으로 나누었을 때 ..
06 - 메모리와 캐시 메모리 주기억장치에 RAM과 ROM 있다고 했는데, 여기서는 RAM 에 대해 먼저 정리한다그리고 캐시 메모리에 대해 정리한다. 06 - 1 RAM의 특징과 종류RAM의 특징 RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다. RAM은 전원을 끄면 저장된 데이터와 명려어가 모두 날아간다. 그래서 휘발성 저장 장치라고 한다.전원이 꺼져도 유지되는 저장 장치는 비휘발성 저장 장치라고 한다. HDD, SSD, CO-ROM, USB 등이 있다.일반적으로 보조기억장치인 비휘할성 저장 장치에 보관을 하고 휘발성 장치에서 실행할 대상을 복사하여 저장한 뒤 그 데이터들을 가지고 프로그램을 실행한다.RAM의 용량과 성능RAM의 용량이 크면 저장할 수 있는 실행할 프로그램들의 데이터들이 많아 지기 때문에 그만큼 RAM이 보조..
05 - CPU의 성능 향상 기법 05 - 1 빠른 CPU를 위한 설계 기법 클럭컴퓨터의 논리회로에 가해지는 전기 신호의 단위로 Hz 로 표현한다.즉, CPU의 속도를 나타내는 단위이며, 이는 일정하지 않다. 최대 클럭 속도를 강제로 끌어올리는 것을 오버클럭킹이라고 한다.클럭 속도를 계속 높이면 발열 문제가 심각해진다. 따라서 클럭 만으로 CPU 속도를 올리는 것은 한계가 있다.코어와 멀티 코어코어 : 명령어를 실행하는 부품이다. 즉, CPU 안에 코어가 8개 있다면 명령어를 실행하는 부품이 8개라는 뜻이다. 이렇듯 2개 이상의 코어를 가지고 있으면 멀티코어 CPU,프로세서라고 부른다.코어를 계속 늘린다고 연산 처리 속도가 비례 증가 하지 않는다. 따라서, 중요한 것은 코어마다 처리할 명령어들을 적절하게 분산시키는 것이다.스레드와 멀티 ..
04 - CPU의 작동 원리 04 - 1 ALU 와 제어 장치 ALU   CPU 내부 계산을 담당한다.ALU가 받아들이는 정보피연산자 : 피연산자는 레지스터로부터 얻어온다.제어 신호 : 제어신호는 제어 장치로부터 얻어온다.ALU가 내보내는 정보결과 값 : 메모리로 바로 가지 않고 레지스터에 일시적으로 저장한다.플래그 : 플래그는 연산 결과에 대한 추가정보이다. 이 플래그는 플래그 레지스터에 저장된다.플래그 종류1. 부호 플래그 - 결과가 양수, 음수 인지 나타냄2. 제로 플래그 - 결과가 0인지 아닌지 나타냄3. 캐리 플래그 - 결과가 올림수나 빌림수가 발생했는지 나타냄4. 오버플로우 플래그 - 오버플로우가 발생했는지 나타냄5. 인터럽트 플래그 - 인터럽트가 가능한지 나타냄6. 슈퍼바이저 플래그 - 커널 모드, 사용자 모드 중 어떤..