본문 바로가기
반응형

목록363

http와 tcp/ip의 이해 1. Http? tcp/ip? 네트워크 전공이신 분들은 이 두개가 서로 상호작용 한다는 것을 알고 있을 것입니다. 문제는 방대한 양의 정보와 잘못된 지식인데, http와 tcp/ip를 완전 다른놈 취급한다는 사실입니다. http를 까보면 tcp가 나오게 됩니다. 즉, tcp 기반으로 만들어진 프로토콜이 http라는 말입니다. 이를 이해하기 위해선 OSI 7 Layer를 이해해야 합니다. 하지만 너무 자세히 알 필요는 없습니다. 간략한 그림을 보여드리도록 하죠. 2. OSI 7 Layer 저희가 인터넷 주소창에 'www.google.com' 이라는 도메인 네임을 입력했다고 가정해 봅시다. 그럼 인터넷 창에선 www.google.com에 접속해 서비스를 받기위해 여러가지 포멧 형태가 일어나게 됩니다. 여기서.. 2020. 10. 31.
리틀 엔디언과 빅 엔디언 1. 엔디언?리틀 엔디언과 빅 엔디언에 대해 알아보기 전, 엔디언이 무엇을 말하는지 알아보겠습니다. 엔디언은 메모리의 순서를 뜻합니다. 무슨 메모리의 순서? 데이터가 들어가는 순서 입니다. 프로그램을 실행 시킬 때, 프로그램에 대한 정보가 메모리에 올라가게 됩니다. 메모리는 이 모든 정보들을 byte단위로 저장하고 있지요. 여기서 그냥 메모리에 올라가는 것이 아니라 CPU의 처리에 따라 바이트가 올라가는 순서가 다릅니다. 그리고 이 순서는 크게 빅 엔디언과 리틀 엔디언 방식이 있습니다. 2. 리틀 엔디언5678을 메모리에 넣는다고 가정해보겠습니다. 리틀 엔디언은 역순으로 메모리에 저장됩니다. 리틀 엔디언을 사용하는 CPU는 대표적으로 Intel, AMD가 있습니다. 리틀 엔디언 같은 경우 산술 연산시 빠.. 2020. 10. 22.
2020-10-20(화) - 프로그래머스 495등.... 프로그래머스 문제를 1년동안 계속 푸니깐 495등이 되었네요. 확인해보니 63,000명 정도 있네요. 그중 500등이니깐 0.01% 정도 되네요 ㅎㅎ 확실히 전에는 그래프, dfs, bfs 관련 문제들 처다도 안보고 극혐했었는데, 맨날 맨날 맨날 맨날!!! 코딩테스트에 나와서 날잡아서 관련 문제만 일주일간 주구장창 푼 결과가 있네요. 지금은 그래프, dfs, bfs가 재미있습니다. ㅋㅋㅋㅋ 특히 길찾기..... 넘 좋앙 2020. 10. 20.
프로그래머스] C++ 2020 카카오 인턴십 - 경주로 건설(Level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/67259 1. 문제건설회사의 설계사인 죠르디는 고객사로부터 자동차 경주로 건설에 필요한 견적을 의뢰받았습니다. 제공된 경주로 설계 도면에 따르면 경주로 부지는 N x N 크기의 정사각형 격자 형태이며 각 격자는 1 x 1 크기입니다. 설계 도면에는 각 격자의 칸은 0 또는 1 로 채워져 있으며, 0은 칸이 비어 있음을 1은 해당 칸이 벽으로 채워져 있음을 나타냅니다. 경주로의 출발점은 (0, 0) 칸(좌측 상단)이며, 도착점은 (N-1, N-1) 칸(우측 하단)입니다. 죠르디는 출발점인 (0, 0) 칸에서 출발한 자동.. 2020. 10. 20.
백준 19236] C++ 청소년 상어 해당 문제는 백준 사이트에서 풀 수 있습니다. https://www.acmicpc.net/problem/19236 1. 문제아기 상어가 성장해 청소년 상어가 되었다.4×4크기의 공간이 있고, 크기가 1×1인 정사각형 칸으로 나누어져 있다. 공간의 각 칸은 (x, y)와 같이 표현하며, x는 행의 번호, y는 열의 번호이다. 한 칸에는 물고기가 한 마리 존재한다. 각 물고기는 번호와 방향을 가지고 있다. 번호는 1보다 크거나 같고, 16보다 작거나 같은 자연수이며, 두 물고기가 같은 번호를 갖는 경우는 없다. 방향은 8가지 방향(상하좌우, 대각선) 중 하나이다.오늘은 청소년 상어가 이 공간에 들어가 물고기를 먹으려고 한다. 청소년 상어는 (0, 0)에 있는 물고기를 먹고, (0, 0)에 들어가게 된다. 상.. 2020. 10. 16.
프로그래머스] C++ 연습문제 - 스티커 모으기(2) (level 4) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/12971 1. 문제N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다. 예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 사용할 수 없습니다. 스티커에 적힌 숫자가 배열 형태로 주어질 때, 스티커를 뜯어내어 얻을 수 있는 숫자의 합의 최댓.. 2020. 10. 15.
프로그래머스] 2019 KAKAO BLIND RECRUITMENT - 길 찾기 게임(Level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/42892 1.문제전무로 승진한 라이언은 기분이 너무 좋아 프렌즈를 이끌고 특별 휴가를 가기로 했다. 내친김에 여행 계획까지 구상하던 라이언은 재미있는 게임을 생각해냈고 역시 전무로 승진할만한 인재라고 스스로에게 감탄했다. 라이언이 구상한(그리고 아마도 라이언만 즐거울만한) 게임은, 카카오 프렌즈를 두 팀으로 나누고, 각 팀이 같은 곳을 다른 순서로 방문하도록 해서 먼저 순회를 마친 팀이 승리하는 것이다. 그냥 지도를 주고 게임을 시작하면 재미가 덜해지므로, 라이언은 방문할 곳의 2차원 좌표 값을 구하고 각 장소를 이진.. 2020. 10. 13.
프로그래머스] C++ 2020 카카오 인턴십 - 보석 쇼핑(Level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/67258 1. 문제[본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 개발자 출신으로 세계 최고의 갑부가 된 어피치는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다. 어피치는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다. 어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼 진열대의 특정 범위의 보석을 모두 구매하되 특별히 아래 목적을 달성하고 싶었습니다. 진열된 모든 종류의 보석을 적어도 1개 이상 포.. 2020. 10. 13.
간단한 이진-tree 만들기(들어온 순서대로 만들기) 1. 목표 C++ 사용해 간단한 tree구조를 만들어보겠습니다. 입력한 순서대로 만들어지는 2진-tree를 만들것입니다. 예를들어 1, 2, 3, 4, 5, 6, 7, 8 이 들어온다면 다음과 같이 만드는 것이 목적입니다. queue를 이용한 bfs 방법으로 만들었습니다. 2. 만들기1) 우선 간단한 Tree와 요소를 담을 vector, 자료를 처리할 queue를 선언합니다.#include #include #include using namespace std; class tree {private: int num; tree* right; tree* left;public: tree() { right = NULL; left = NULL; num = 0; } ~tree() { delete(right); delet.. 2020. 9. 28.
프로그래머스] C++ 깊이/너비 우선 탐색(DFS/BFS) - 가장 먼 노드(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/49189 1. 문제 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.제한사항노드의 개수 n은 2 이상 20,000 이하입니다.. 2020. 9. 11.
프로그래머스] C++ 깊이/너비 우선 탐색(DFS/BFS) - 네트워크(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/43162 1. 문제네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution .. 2020. 9. 10.
프로그래머스] C++ 깊이/너비 우선 탐색(DFS/BFS) - 단어 변환(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/43163 1. 문제 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> .. 2020. 9. 9.
2편] 멀티 프로세스, 멀티 쓰레드, 멀티 플렉싱에 대해서... 앞전에 동기, 비동기, 블로킹, 논 블로킹에 대해 설명을 했습니다. 이와 이어지는 내용입니다. 예제의 이해를 쉽개 하기 위해서 통신할때를 가정으로 두고 진행하겠습니다. 1. 멀티 프로세스말그대로 프로세스를 여러게 이용하는 것입니다. 클라이언트당 프로세스 하나를 물리는 것이죠. 이런식으로 프로세스를 늘리는 것이죠. 하지만 이런 방식은 굉장히 비효율적입니다. 프로세스 자체는 하나의 프로그램단위로 굉장히 큽니다. 또한 Context switching으로 인해 시스템 저하도 발생하죠. 흔히 알고있는 fork()로 만드는 것이 이 프로세스입니다. 위와 같은 단점때문에 쓰레드라는 개념으로 통신을 하기 시작합니다. 2. 멀티 쓰레드쓰레드는 프로세스보다 작은 단위이며 프로세스 안에서 논리적으로 동작하는 하나의 작업단위.. 2020. 9. 8.
프로그래머스] C++ 연습문제 - 이중우선순위큐(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/42628 1. 문제이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다.명령어수신 탑(높이)I 숫자큐에 주어진 숫자를 삽입합니다.D 1큐에서 최댓값을 삭제합니다.D -1큐에서 최솟값을 삭제합니다.이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.제한사항operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다.operati.. 2020. 9. 8.
프로그래머스] C++ 연습문제 - 최고의 집합(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/12938 1. 문제자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다.각 원소의 합이 S가 되는 수의 집합위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } 그중 각 원소의 곱이 최대인 { 4, 5 }가 최고의 집합입니다. 집합의 원소의 개수 n과 모든.. 2020. 9. 7.
728x90
반응형

스킨편집 -> html 편집에서