본문 바로가기

전체보기126

스택 - 짝이 맞지 않는 괄호 스택 - 짝이 맞지 않는 괄호 문제출저 - 알고스팟 https://algospot.com/judge/problem/read/BRACKETS2 풀이생각 1. 닫힌 괄호일 때 스택검사 => 일치하면 pop, 다르면 바로 return false 2. 열린 괄호일 때 push 3. 함수 마지막에서 스택이 비어있다면 잘 끝난것 (true), 남아있다면 잘못된것 (false) 내 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 #include #include using n.. 2020. 8. 20.
선형 자료구조 - 조세푸스 문제 선형 자료구조 - 조세푸스 문제 문제 출저 - 알고스팟 https://algospot.com/judge/problem/read/JOSEPHUS 풀이생각 1. 하나의 리스트에서 2명이 남을 때까지 자살한 병사를 삭제 => 특정 위치의 삭제가 용이한 연결리스트를 사용하자 => remove를 사용하려 했으나, 이것은 원소를 탐색하여 제거하는 것. 연결리스트를 선택한 이유가 없어짐 => iterator를 지우는 erase를 사용하자 2. 마지막 원소에서 어떻게 iterator를 처음으로 옮겨줄까? => Linked list 마지막 원소의 다음 iterator에 접근했을 때, Linked list의 begin으로 iterator를 옮겨주기 => 마지막 원소의 다음 주소를 가리키는 end를 사용하자 3. 그럼 어떤.. 2020. 8. 18.
선형 자료 구조 (동적 배열, 연결 리스트) 선형 자료 구조 (동적 배열, 연결 리스트) 1. 동적 배열 ● 배열의 문제점 1. 처음 배열을 선언할 때 크기를 지정해주어야 한다. 2. 그 크기 이상의 자료를 집어넣을 수 없다. => 이 문제를 해결하기 위한 것이 동적배열이다. ● 동적배열의 특징 동적배열의 내부는 배열로 이루어져있기 때문에 배열의 특징을 이어받는다. 배열의 특징 이어받은 것 - 원소들은 메모리의 연속된 위치에 저장 => 캐시의 효율성과 직결되기 때문에 아주 중요하다. - 주어진 위치의 원소를 반환하거나 변경하는 동작을 O(1)에 할 수 있음 동적배열이 가지는 다른 추가 특성 - 배열의 크기를 변경하는 resize() 연산이 가능 => 배열의 크기 N에 비례하는 시간이 걸림 - 배열의 맨 끝에 원소를 추가할 수 있는 append() .. 2020. 8. 17.
탐욕법 - 도시락 데우기 탐욕법 - 도시락 데우기 문제 출저 - 알고스팟 https://algospot.com/judge/problem/read/LUNCHBOX 탐욕법 여러 개의 조각으로 쪼개는 방법. 이는 완전탐색, 동적 계획법이랑 같음. 각 단계마다 지금 당장 가장 좋은 방법만을 선택한다. 지금 선택이 앞으로 남은 선택들에 어떤 영향을 끼칠지 고려하지 않는다. 가장 중요한 건 정당성 증명 (최적 부분 구조) 만약 제일 안 좋은 것이 있다면 그것을 최적해로 가정하자. 그리고 더 좋은 것을 찾으면 그것이 최적해라고 한다. 이렇게 결국 제일 좋은 것을 찾아가 최적해를 찾는다. 귀류법같은 느낌이 난다. 풀이생각 i번째 도시락 데우기 + 먹기. 어느번째 도시락이 오래 걸릴까 체크 i번째 시간 = 데우기시간 + 먹기시작한시간 + 먹기시.. 2020. 8. 17.
[ C++ ] OOP - (1) 보호되어 있는 글 입니다. 2020. 8. 5.
분할 정복 - 쿼드 트리 뒤집기 문제 출저 - 알고스팟 https://algospot.com/judge/problem/read/QUADTREE 이것에 중점을 둬보자. - 분할하고, 정복한다. - 재귀 던져준 후에는 생각말자. 절차 - 트리를 입력 받는다. (string) - 입력을 분석 (분할) - 트리를 상하로 뒤집어서 출력 일단 입력을 받고 분할해보자. 아직 분할정복이 감이 안잡혔다. 문제를 보고 분할정복해야지 라는 생각을 못함. 일단 공부하는 부분이 분할정복이라서 어떻게 분할할지 생각해보자. string tree를 입력받는다. w나 b이면 return w, b; -> 기저사례 x이면 4개로 분할 -> 4개의 재귀로 들어감. 분할했으면 정복?병합?해결?도 하자. 순서는 왼쪽위 - 오른쪽위 - 왼쪽아래 - 오른쪽아래 뒤집으면 왼쪽아래.. 2020. 8. 5.
[ 한국사 ] 조선후기 천주교 전파 과정 조선후기 천주교 전파 과정 서양 중세 특히 유럽을 풍미했던 가톨릭신앙은 신 중심, 내세주의, 보편성의 사상이 지배하던 서양 사상에서 르네상스기를 거쳐서 인간중심, 현세주의, 개별성의 사상이 시대 사조가 되는 근대의 역사가 전개되면서 동요가 일으킵니다. 이것으로 종교적인 개별주의를 표방했던 루터의 종교개혁이 일어났고 유럽 가톨릭교는 심한 타격을 입게 됩니다. 이러한 개신교 운동에 대해서 가톨릭교에서는 자체 개혁과 교세 회복을 위해서 반종교개혁 운동을 일으킵니다. 이러한 과정에서 등장하게 된 교단이 예수회였는데, 1534년에 창립된 예수회는 교회 정화와 교세 확대를 위해 노력하면서 한편으로는 선교를 위해서 해외로 떠나게 됩니다. 그리스도의 복음을 위해서 해외로 선교를 떠나는데 예수의 동방선교에 나선 프란치스.. 2020. 7. 11.
[ 한국사 ] 실학 실학 실학이란? 일반적으로 실학의 개념은 조선 후기의 현실문제를 형이상학적인 학풍에서 벗어나 실제적으로 해결하기 위한 움직임의 결과로 등장하였고, 탈주자학, 근대성, 재야 지식인, 실용성, 중상, 중농 등의 키워드가 있었을 것입니다. 우선 실학 연구의 시작에 대해서 알아봅시다. 나라를 빼앗긴 채 일본의 지배를 받았던 시기에 역사학자들은 조선의 역사 속에서 망국의 원인을 찾고 희망을 찾아보고자 합니다. 그 결과로 이들은 조선이 망한 책임을 조선의 지도이념이었던 주자학으로 돌리는 주자학 망국론에 동의를 하게 됩니다. 아울러서 조선 후기에 등장했던 학풍 가운데 긍정적이라고 생각할 만한 것들을 실학이라고 지칭하고 실학사상의 계승을 통해서 당대 처했던 난국에 대처하기 위해서 여러가지 주장을 펼치게 됩니다. 실학 .. 2020. 7. 11.
[ 한국사 ] 정조 정조 영조의 관심을 받은 정조의 어린 시절 정조가 어린 시절에 외숙모에게 보낸 것으로 추정되는 편지가 있는데, 5~6살 즈음에 작성한 것으로 추정됩니다. 한글로 되어있는 것이 인상적이고, 어린 나이임에도 불구하고 내용이 어른스럽습니다. 영조는 보양청에 있는 단계에서부터 정조 왕세손의 교육에 관심을 가지고 있었습니다. 1757년에 6살의 어린 원손을 불러 학습진도를 점검하였습니다. 정조가 어린 시절부터 굉장히 의젓하고 뛰어났다는 사실을 확인할 수 있는 부분을 실록에서 확인할 수 있습니다. 영조가 원손을 교육하는 데 있어 굉장히 신경 썼다는 내용을 의미합니다. 그리고 원손을 가르치는 남유용에게 특별히 신경쓸 것을 부탁하고 있었습니다. 영조 34년에도 원손이 입시했을 때 영조가 소학을 외우게 했는데 이 때도 .. 2020. 7. 11.
[ 한국사 ] 소현세자와 강빈 소현세자와 강빈 소현세자 인조의 첫째아들인 소현세자는 병자호란 이후 부인 세자빈 강씨와 동생 봉림대군은 청나라에 인질로 잡혀가 9년동안 생활하였습니다. 소현세자는 1637년 2월 8일 청나라 구왕을 따라 심양행을 갑니다. 심양에 도착한 초기에는 조선 사신들의 숙소인 동관에 기거하게 됩니다. 5월부터 새로 지은 심양관소인 심관으로 옮겨가서 거처합니다. 1644년에 청나라의 화북지방 원정에 종군하고, 9년간 청나라에 있으면서 조선에 인조에게 문안하기 위해 1642년과 1644년에 서울을 다녀갑니다. 처음에는 감시가 심했지만, 차차 완화가 되어 6월부터는 비교적 자유롭게 다닌 것으로 보입니다. 소현세자는 비록 인질로 잡혀온 것이지만, 청나라에서는 조선 왕세자로서의 신분을 인정해줬고, 조선과 청나라의 관계를 생.. 2020. 7. 11.
[ 한국사 ] 광해군의 업적 광해군의 업적 광해군의 세자 시절, 분조 광해군이 세자 시절 때, 선조는 조정을 둘로 나누고 광해군을 분조에 있게 하였습니다. 분조는 선조가 요동으로 망명할 것을 대비해서 왕을 대신해서 나라를 다스리라는 왕명에서 나온 작은 조정입니다. 광해군은 종묘사직을 받들고 평안도 맹산~양덕 그리고 황해도의 곡산을 거쳐서 강원도의 이천에 분조를 두고 여러 의병들과 백성들을 격려하기도 하고 상을 주기도 하고 여러 활동을 하였습니다. 왕세자가 이천에 머문 지 한달 만에 적병이 나와서 위험을 느끼게 되어, 다시 평안도 성천으로 가서 분조를 이끌게 되었습니다. 광해군은 후에 서울이 수복되고도 원나라의 요청에 따라서 조선의 방위를 위해서 국무사를 설치했을 때도 거기에 대한 업무도 주관하였습니다. 그리고 정유재란이 일어났을 때.. 2020. 7. 11.
[ 한국사 ] '조선'이라는 국호가 정해지기까지 '조선'이라는 국호가 정해지기까지 국호의 결정이라는 것은 새 왕조가 직면하는 굉장히 중요한 과제 중 하나입니다. 이것이 국내뿐만 아니라 국외적으로 중요성이 있기 때문입니다. 국호는 특정 국가가 자기 정체성을 가장 명확하게 대내외적으로 드러내는 성격이 있습니다. 그렇지만 조선의 국호 결정 과정이 특별한 건 명나라가 개입했던 것입니다. 명나라의 만족과 동의뿐 아니라 자국 안에서도 그 왕조의 독존적 위상과 가치가 함께 있어야 했습니다. 그렇기에 조선건국 주체 세력들은 국호의 결정이 굉장히 까다롭고 어려운 과제로 여겨지게 되었습니다. 조선이 이러한 상황이 된 것과 국호가 정해진 과정에 대해 알아보겠습니다. 1368년부터 1388년까지 20년의 시간동안 많은 일이 벌어집니다. 원나라와 명나라가 팽팽하게 대립하고 .. 2020. 7. 11.
[ 네트워크 ] LTE LTE LTE LTE의 구성은 대략 이렇다. 단말과 기지국을 E-UTRAN이라고 부른다. network 이름이다. 맨 밑에 Physical layer가 있고, 그 위에 MAC이 있다. 그리고 그 위에 RLC, PDCP, RRC가 있는데 이것은 LTE에 특화해서 만든 계층이다. Physical이 L1이고, 그 위에 세 개가 L2이다. 이동통신이다보니 L2가 무겁다. RLC : 재전송에 대한 부분 PDCP : 헤더를 압축하는 역할 RRC : Layer3인데, 크기가 절반으로 그려져 있다. RRC는 control 목적으로만 사용한다. control이 아닌 일반 전송용 목적이면 따로 사용하는 것이 없다. 우리가 앞서 배웠던 TCP/IP를 사용하겠다는 뜻이다. L3, L4 … 윗부분에서는 인터넷 프로토콜을 그대로.. 2020. 7. 10.
[ 네크워크 ] Wireless Network (무선 네트워크) Wireless Network (무선 네트워크) wireless hosts 유선이 무선이 된 것이기 때문에 접속하는 지점들, Access Point(AP)라고 불리는데, 기지국이 될 수 있다. 이런 무선 송수신기 하나가 network infrastructure에 붙어있다. 이건 유선으로 연결되어 있다. end link 딴에서 노트북이나 스마트폰이 무선으로 AP에 연결되어 있는 것이다. wireless host들은 랩탑, 스마트폰이다. 노트북은 stationary인데, 대부분 한 곳에 앉아서 사용하기 때문에 안 움직인다고 말한다. 스마트폰은 mobile인데, 움직인다고 말한다. 그러므로 무선이라고 반드시 이동성을 의미하는 것은 아니다. mobility는 그림의 아래부분과 같이 이동하여 네트워크를 이동해 가.. 2020. 7. 10.
[ 네트워크 ] Data center networks Data center networks 이 그림은 마이크로스프트웨어의 data center이다. 하나나가 server이다. cloud center라고 생각하면 된다. Amazon, Youtube, Akamai, Apple 등에서 data center를 운영한다. 각각 하나의 server가 최대 수용할 수 있는 동시 최대 클라이언트 수가 있을 것이다. 이것의 해결책으로 수많은 server로 load를 분산시키는 것이다. Data center networks data center network의 구성이다. 우리가 아는 네트워크와 비슷하게 생겼다. load balancer에서 각각 server를 분기시켜서 보내게 된다. 스위치가 Tier별로 있다. 이 load balance는 L3가 아닌 애플리케이션 딴에서 라.. 2020. 7. 3.