분류 전체보기145 알고리즘문제 시간 제한 알고리즘 문제를 풀다보면 시간제한이란 것이 항상 존재한다. 시간제한은 해당 문제의 풀수있는 알고리즘을 제한하기 위해서 존재한다. 이때 일반적으로 1초 = 1억번 계산한다라고 생각하면 될것. 이 시간과 주어진 문제의 입력조건의 최대값을 참고해서 알맞는 알고리즘을 도출해낼것. 예를 들어서 시간 제한: 2초, input값이 최대 10억일때. 무식하게 for문 2번 사용하는 짓은 절대로 문제가 안풀린다. (O(N^2)이기 때문에) 알고리즘의 복잡도는 O(N)도 부족하다, 적어도 O(NlogN)은 되어야지 해당 문제를 풀수가 있다. 요약) - 시간제한 1초는 대략 1억번이다. - 최대값 생각해서 알고리즘 잘 골라서 풀어라 2023. 5. 1. [컴퓨터네트워크개론 master] 3. ip address(1) 아마 컴퓨터에 관심이 있으신 분들 ip에 대해서 들어보거나 알고 계실것이라고 생각이듭니다. 그렇지만 ip address가 어떻게 구성이 되어있고 어떻게 동작하는지애는 생소할 수 있습니다. 오늘은 그러한 부분을 알아보도록 하겠습니다. ip address는 계층으로 나누어져 있다 우리가 자주 사용하는 주소, 핸드폰번호, 학번 모두 계층으로 이루어져 있습니다. 이렇게 계층을 만드는 이유가 뭘까요? 그 얘기는 다 devide and conquer입니다. 내가 찾을 때 경기도 그러면 다른데는 신경 안쓰고 경기도만 찾을 수 있고 학번이 20학번이다 그럼 내가 다른 19학번이나 21학번 찾을 필요 없이 20학번에서 찾고 그럼 domain을 계속 줄여나가서 찾는데 조금 더 효과적인거죠. 그리고 이는 길을 찾는 것도 똑.. 2022. 11. 3. [망상] 더블 포인팅! 예전에 1학년 1학기때, 한참 C언어를 배우고 있을 때였는데 그때 포인터와 배열의 개념에 대해서 잘 몰랐을 때 왜 포인터는 하나의 주소만 가르키지 라는 의문이 있었다. 사실 지금 생각해보면 그냥 잘 몰라서 하는 생각이라고 할 수가 있는데 또 재미있는 생각일 수도 있어서 일단 기록을 해본다. 포인터는 하나의 주소를 가리킨다, 밑 그림과 같이 대충 이런식으로 하나의 데이터를 포인팅하겠지요. 다만 그때 했던 망상으로는 포인터가 여러 주소를 가지게 되는 것이다. 물론 어떻게 객체를 새로 만들어서 하고 하면 당연히 만들 수가 있다. 하지만 왜 이런 기능의 포인터를 만들어야 하는지는 사실 기억이 나지 않는다. 근데 뭔가 있으면 좋을 것 같지 않나? 사실 그때 어떤 과제를 하면서 이런 생각을 한거긴 한데, 어떤 과제.. 2022. 10. 29. 야메 C언어 강좌: 12. 문자열 안녕하세요. 포인터 강좌 이후로 오랜만에 돌아왔습니다. 4학년이 되니까 이래저래 바쁘네요 ㅜㅜ 어쨌든 이번 시간에는 문자열에 대해서 알아보도록 하겠습니다. 우리는 이전 강의들을 통해서 배열과 포인터를 배워봤습니다. 이거 둘을 사용해서 저희는 문자열을 사용할 수가 있습니다. 문자열과 문자의 차이는 무엇인가요? 앞에서 우리는 문자를 char변수에 저장을 한다 라는 것을 배웠었고 char변수 같은 경우에는 딱 한 문자만 저장을 할 수 있었습니다. 반면 오늘 배울려는 문자열은 여러문자의 연속입니다. 둘의 차이를 정리하자면 아래와 같습니다. // 문자의 예시 'a', 'b', 'c' // 문자열의 예시 "abc", "hello", "string" // 문자는 ''로 감싸주고 문자열은 ""로 감싸주어야 합니다. 그.. 2022. 10. 24. [컴퓨터네트워크개론 master] 2. Switched Network & Packet Switching 이번에 먼저 다룰 부분은 switched network입니다. switched network는 여러 개의 라우터, 이 길라잡이하는 라우터를 거쳐가야하는데 중간마다 길을 찾아서 길들이 중간에 스위치가 된다, 경로가 바뀐다는 뜻으로, 경로가 바뀌는게 아니라 길을 찾아갈 때 여기서 이쪽으로 가던 이쪽으로 가던 길이 스위치가 되죠(위 그림처럼 갈 수 있는 길이 많아서 그것을 결정해야 된다 라는 뜻입니다). 길이 스위치가 됩니다. 그래서 switched network이라고 하는 거고요. 스위치는 보통 라우터가 합니다. 그런데 스위치에다가 cisco라는 회사가 이런 기능을 추가해서 조금 더 복잡해졌습니다. (이 말은 그냥 흘러들으셔도 됩니다.) Switched communication network가 뭐냐하면 so.. 2022. 10. 23. [운영체제] OT 이어서 이제 부터는 한학기동안 배울 수업내용이 어떤건지 전반적으로 살펴보겠습니다. 일단 컴퓨터시스템의 구성을 크게 한번 보겠습니다. 여러분들이 잘 알고 있듯이 컴퓨터 시스템에는 하드웨어들이 존재하죠. 하드웨어가 있습니다. 예를 들면 cpu, 또는 메모리 그리고 각종 입출력 장치들, 보조기억장치, 네트워크 장치 다 포함해서 IO device라고 합니다. 그래서 cpu와 메모리 그리고 기타 기본 장치들 이렇게 포함해서 hardware component들이 존재하고요. 그 다음에 위에 보면 software layer가 있죠. SW layer보면 각종 application들이 그 시스템에 설치되어 있는 각종 응용프로그램들이 실행이 됩니다. 이 하드웨어 기반으로 실행을 하는데 결국은 위에 있는 애플리케이션 영역을.. 2022. 10. 12. [컴퓨터네트워크개론 master] 1-2. 네트워크 모델(보충) 여기에서 알아야 할것은 네트워크를 쪼개는 것이 왜 efficient하는지를 알아야합니다. 저번 1-1에서 2계층의 개념으로 네트워크를 쪼개면 좋다라고 얘기를 했습니다. 이 말의 뜻은 즉 하나의 네트워크에 사용하고 있는 단말을 줄이면 됩니다. 하지만 실제로 인간이 사용하고 있는 단말을 줄인다는 것은 현실적인 방법이 아님으로 네트워크를 쪼개는 것입니다. 해당 사진의 기계는 허브라는 물건인데 바로 네트워크를 여러개로 쪼개는 역할을 해줍니다. 위 사진에는 총 24개의 포트가 존재하는데요. 각 포트가 하나의 네트워크입니다. ip라는 것을 알고 있다면 하나의 포트는 하나의 ip를 가지고 있다고 알고 계시면 되겠습니다. 혹시 저번 1-1에서 이해가 안됐을 것 같아서 2계층의 이야기를 한번만 다시 설명하겠습니다. 하나.. 2022. 10. 8. [컴퓨터네트워크개론 master] 1-1. 네트워크 모델 네트워크 모델이란? 우리가 흔히 생각하는 네트워크는 인터넷이 있겠죠. 많은 것들이 인터넷에 연결되어 있고 핸드폰이든 노트북이든 그런것들을 어떻게 모델할 건지 입니다. 그럼 네트워크 모델에서 데이터들이 어떻게 움직이냐? 주로 packet이란 것이 움직입니다. 지금 단계에서는 packet == data라고 생각을 해주시면 됩니다. 이 패킷이 전달되기 위해서는 출발지 그리고 목적지가 존재합니다. 그래서 이 출발지, 목적지 정보를 어떻게 쓸거며, 목적지까지 가는 길을 어떻게 찾을 것인지 하는 여러 이슈들이 있습니다. 그리고 때로는 packet을 잃어 버렸을 때 어떻게 할건가 이러한 전반적인 내용을 컴퓨터네트워크개론 전반적으로 다루게 됩니다.(결국에는 끝에서 배우겠다는 것) 위 그림이 네트워크 모델이고 전반적으로.. 2022. 9. 28. [컴퓨터네트워크개론 master] 제발 이번엔... 하... 이번에 컴퓨터네트워크개론 수업을 재수강하게 되었습니다... 마지막 과제랑 시험을 죽쓰니까 성적이 참... 불행중 다행인건 같은 교수님 수업을 재수강하게 되서 자료랑 수업내용이 아예 똑같습니다. 덕분에 이번에 컴퓨터네트워크개론을 master할 기회가 생긴것 같습니다. 어차피 취준해야 되는 이 시점에서 좋게좋게 생각해야겠죠... 시험을 준비하면서 복습하는 개념에서 글을 올릴 예정입니다. 당장 다음주에 시험이니 빨리빨리 복습하고 올려야 겠습니다. 나름 2회차이기 때문에 올리는 내용들은 꽤나 정확할 것 같습니다. 그럼 재밌게 구경하세요 ㅎㅎ 2022. 9. 27. 이전 1 ··· 4 5 6 7 8 9 10 ··· 17 다음