목록전체 글 (142)
개발자 블로그
0. 패킷 통신 규약 중 가장 보편적으로 쓰이는 TCP/IP 패킷 통신이 무엇인지, 패킷통신의 배경은 해당 링크를 참고! 1. TCP/IP는 프로토콜의 집합이다. 그렇다면, 프로토콜은 뭐지? 프로토콜은 규칙 및 약속이라고 생각하면 된다. 만약 우리가 다른 나라사람과 대화를 해야한다면, 우리는 언어가 다르기 때문에 소통의 어려움이 있을 수 있다. 때문에 어떻게 대화를 시작할지, 어떤 언어로 대화를 할지, 언제 대화를 끝낼지와 같은 약속이 필요하다. 이를 다시 네트워크로 빗대어 보면 다른 OS와 컴퓨터, 네트워크 기기가 서로 어떻게 파일(데이터)을 주고 받을지에 대한 약속이라고 한다. 프로토콜에는 여러가지가 있다. 데이터를 어떻게 보낼지, 데이터를 목적지까지 최적의 경로를 보내는 방법 등 인터넷과 관련된 프..
문제 보기 더보기 [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. "코딩 실력만 본다" 카카오 "코딩 능력만으로 2018..
문제 설명 더보기 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다. 단, 코스요리 메뉴는 최소 2가지 이상의 단품메뉴로 구성하려고 합니다. 또한, 최소 2명 이상의 손님으로부터 주문된 단품메뉴 조합에 대해서만 코스요리 메뉴 후보에 포함하기로 했습니다. 예를 들어, 손님 6명이 주문한 단품메뉴들의 조합이 다음과 같다면, (각 손님은 단품메뉴를 2개 이상 주..
우선 데이터 베이스에서의 조인을 집합과 비교해서 설명을 많이 하지만, 완전 같다고 볼 순 없다. 물론 이해하기 편하게 가시적으로 표현하기엔 집합에 비유가 찰떡이긴하다. 결론은 관계형 디비에서 연결이 되는 키를 갖고 테이블을 이어붙인다. 연결이 되는 n개의 테이블, 연결이 되는 키가 필요하고 기준이 되는 테이블에 따라 조인되어 반환이 된 테이블이 달라진다. 1. LEFT JOIN 가장 많이 쓰이며, 흔히 접하는 조인이다. A 테이블을 기준으로 연결이 되는 A의 키와 B의 키로 B 테이블을 합친 테이블을 반환! 단, B 테이블에 없는 값은 Null로 표현이 되어 A테이블에 연결이 된다. 왜냐면 A 테이블 기준이니까! 2. INNER JOIN 그림과 같이 교집합과 같은 부분이다. 두 테이블이 공통으로 갖고 있..
문제 설명 더보기 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 가로의 길이 n은 60,000이하의 자연수 입니다. 경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요. 입출력 예nresult 4 ..
문제 설명 더보기 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 제한사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다. 임의의 i에 대해, costs[i][0] 와 costs[i] [1]에는 다리가 연결되는 두 섬의 번호가 들어있고, costs[i] [2]에는 이 두 섬을 연결하는 다리를 건설할 때 드는 비..
0. 현재 원격 레포지토리를 확인 $ git remote -v >>> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch) >>> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push) 1. 포크를 한 레포지토리(upstream repo)를 원격 레포지토리에 추가를 한다. $ git remote add upstream "forked repo address" upstream이라는 이름으로 해당 레포지토리를 원격 레포에 추가한다!라는 뜻. 2. 잘 되었는지 확인해보자! $ git remote -v >>> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git..
문제 설명 더보기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤..
문제 설명 더보기 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법124 나라10진법124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수 입니다. 입출력 예nresult 1 1 2 2 3 4 4 11 나의 풀이 def solution(..
문제 설명 더보기 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성..