반응형

분류 전체보기 135

사랑의 기술2 -

p119 마찬가지로 각각의 개인도 자기 자신 속에, 곧 프로이트가 밝힌 바와 같이 자신의 무의식 속에 무력한 갓난아이 이후의 모든 단계를 유지하고 있다. 문제는 그가 어느 경지까지 성장했는가 하는 것이다. 한 가지는 확실하다. 곧 그의 신에 대한 사랑의 본성이 그의 인간에 대한 사랑의 본성과 대응하고, 더 나아가 그의 신과 인간에 대한 사랑의 진정한 성질이 사랑이 무엇인가에 대한 더욱 성숙한 '사고'에 의해 은폐되고 합리화됨으로써 흔히 의식되지 않는다는 것이다. 더 나아가 인간에 대한 사랑은, 직접적으로는 그의 가족과의 관계에 담겨 있지만, 끝까지 분석해보면 그가 사는 사회의 구조에 의해 결정된다. 만일 사회 구조가 권위 - 공공연한 권위, 또는 시장과 여론의 익명의 권위-에 복종하는 사회 구조라면 그의..

끄적/심리학 2023.04.16

같이 읽어요 - [컴퓨터 네트워크 Top-down approach]-1. 컴퓨터 네트워크와 인터넷

이 게시물을 읽는 법 - 컴퓨터 네트워크 하향식 접근 을 함께 읽어보아요~ 1장의 목차 1. 기본용어와 개념 이전 장에서 말했듯이 가장 중요한 부분이다. 앞으로 나올 모든 용어들에 대한 전반적인 설명이 있다. 2. 네트워크를 구성하는 하드웨어와 소프트웨어의 구성요소 네트워크의 구성요소를 하드웨어와 소프트웨어로 나누어 설명해준다. 3. 네트워크의 가장자리 사용자와 가까운 쪽을 네트워크의 가장자리라고 부른다. 그 개념에 대해 설명해준다. 4. 네트워크 코어 네트워크의 핵심적인 기능이 있는 곳을 네트워크 코어라고 부른다. 그 개념에 대해 설명해준다. 5 인터넷 = 네트워크의 네트워크 인터넷을 '네트워크의 네트워크'라고 부르는 이유에 대해 설명해준다. 6. 종단 간 지연 네트워크 상에서 통신할 때, 발생하는 지..

[Computer Network - TopDownApproach] 0. 8판을 읽어보자.

이 책은 컴퓨터 공학 전공자들에게 필수적이라고 불리는 책이다. 읽어본 소감으로는, 모든 전공서적 중에 읽는 학생의 입장을 고려한, 교과서로 딱딱하지많은 않게 이야기와 비유로 풀어쓴 책이다. 쉽게 풀어썼다는 것이 중요한 내용을 추상화해서 얉게 이해하도록 만들었다는 것이 아니라, 책을 어떻게 읽어야 하는지 서술방식에 대해서 충분한 설명과 함께 내용이 전개되기 때문에 이 시그널을 잘 캐치해서 읽으면 책을 훨씬 쉽게 읽을 수 있다. 그래서 이 게시물에서는 어떻게 하면 이 책을 좀 더 유용하게 읽을 수 있는지에 대해 적어보려고 한다. 그리고 앞으로의 게시물에서는 책의 복습, 예습에 도움이 될만하게 간략한 목차 설명과, 정리본을 올리려 한다. (완전히 제가 읽고 정리한 저작물로 복사 금지입니다) 하향식 접근 - 위..

카테고리 없음 2023.04.16

백준 14888 - 연산자 끼워넣기 (백트레킹)

공부 근황) 요즘 다이나믹 프로그래밍을 공부하고 있는데, 기본적으로 완전탐색에서부터 구현방법을 생각하되, 어떻게 메모이제이션을 활용해 시간 복잡도를 줄일 수 있을지 고민하는 과정이 필수적이다. 다만 완전 탐색(보통은 재귀함수)을 생각해내는 과정이 나에게는 쉽지 않은 과정이었기 때문에, 백트레킹을 다시 연습하기로 했다. 백준 14888 시간 제한 메모리 제한 2 초 512 MB 문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면..

LIS - lower_bound 로 푸는 이유?(다이나믹 프로그래밍)

LIS를 lower_bound로 해결하는 가장 효율적인 알고리즘이 있음에도 불구하고, 이 알고리즘을 쓰게 된 이유를 알지 못하는 사람들이 많다. 그저 효율적이라는 이유만으로 이 알고리즘을 사용한다면, 그 배경을 알지 못해 응용도 할 수 없을 뿐더러 사용할 때마다 가슴이 답답함을 느끼게 될 것이다.. (나는 이런 걸 왜 생각하지 못할까.. .) 그래서 이 알고리즘이 등장하게 된 배경에 대해서 설명해보려고 한다. (답답해서 공부했다.) 먼저 동적 프로그래밍으로 알고리즘을 설계하는 방법에 대한 것이다. * 동적 프로그래밍 : 앞으로 푸는 문제에 대해 이전의 데이터를 활용할 수 있다면 cache에 저장하여 사용한다. 푸는 방법: https://ebang.tistory.com/89 동적 프로그래밍을 짜기 위해 수..

백준 2096 : 내려가기 (동적계획법 기본 이론, DP)

최적화 문제 동적 계획법 푸는 방법 1. 모든 답을 만들어 보고 그 중 최적해의 점수를 반환하는 완전 탐색 알고리즘을 설계한다. 2. 전체 답의 점수를 반환하는 것이 아니라, 앞으로 남은 선택들에 대해 해당하는 점수만을 반환하도록 부분 문제 정의를 바꾼다. 3. 재귀 호출의 입력에 이전에 선택에 관련된 정보가 있다면 꼭 필요한 정보만 남기고 줄인다. 문제에 최적 부분 구조가 성립할 경우에는 이전 선택에 관련된 정보를 완전히 없앨 수도 있다. (* 최적 부분 구조: 각 부분 문제의 최적해만 있으면 전체 문제의 최적해를 쉽게 구할 수 있는 경우, 이 구조에 해당한다고 할 수 있다.) -> 이 부분에서의 목표는 가능한 한 중복되는 부분 문제를 많이 만드는 것이다. 입력의 종류가 줄어들면 줄어들 수록 더 많은 ..

백준 1339 - 단어 수학(그리디 알고리즘)

문제 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. ..

[인프런 김영한 강의 정리 - 인터넷과 http- 6 ] - 6. HTTP status code

본 게시물은 인프런 강의(김영한 강사님의 '모든 개발자를 위한 http 강의)를 듣고 정리한 메모입니다. 1. HTTP 상태코드 1XX : (informational) - 요청이 수신되어 처리중 2XX : (Successful) - 요청 정상 처리 3XX : (Redirection) - 요청을 완료하려면 추가 행동이 필요 4XX : (Client Error) - 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5XX : (Server Error) - 서버 오류, 서버가 정상 요청을 처리하지 못함 * 모르는 상태코드가 나타나면 클라이언트는 더 상위 오류로 가서 해석한다. (그럴린 없겠지만 만약 404를 모른다면, 그래도 4xx이니까 클라이언트 오류이겠거니 하고 해석한다는 의미) 1. 1..

카테고리 없음 2023.02.12

백준 15686 - 치킨배달 (DFS, 최단거리 알고리즘, 벡트래킹)

문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 예를 들어, 아래와 같은 지..

카테고리 없음 2023.02.11

[인프런 김영한 강의 정리 - 인터넷과 http- 5] -5. HTTP METHOD 활용

본 게시물은 인프런 강의(김영한 강사님의 '모든 개발자를 위한 http 강의)를 듣고 정리한 메모입니다. 어떤 식으로 HTTP METHOD가 개발에서 활용되는가를 보려고 한다. 1. 클라이언트에서 서버로 데이터 전송 클라이언트에서 서버로 데이터를 전송하는 방법은 크게 두 가지이다. 쿼리 파라미터 사용하기 GET 메소드를 활용할 때 사용하고, 주로 정렬이나 필터를 이용 시에 사용한다. 메시지 바디를 활용한 메시지 전송 PUT, PATCH, POST 메소드를 활용할 때 사용하고, 회원가입, 회원 등록, 회원 변경, 상품 주문등에 사용한다. *상황 별 메소드 사용법 1. 정적 데이터 조회 GET 메소드를 기본적으로 사용한다. 2. 동적 데이터 조회 GET 메소드를 사용하되, 쿼리 파라미터도 사용한다. GET ..

728x90
728x90