전체 글

전체 글

    [프로그래머스] 거리두기 확인하기 - python3

    문제 설명 개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다. 코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼 아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다. 대기실은 5개이며, 각 대기실은 5x5 크기입니다. 거리두기를 위하여 응시자들 끼리는 맨해튼 거리1가 2 이하로 앉지 말아 주세요. 단 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용합니다. 예를 들어, 기키고 있는지 알고 싶어졌습니다. 자리에 앉아있는 응시자들의 정보와 대기실 구조를 대기실별로 담은 2차원 문자열 배열 places가 매개변수로 주어집니다. 각 대기실별로 거리두기를 지키고 있으면 1을, 한 명이라도 지키지 않고 있으면 0을 배열에 담아 ..

    [프로그래머스] [1차]뉴스클러스터링 - python3

    문제 설명 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용 카카오, 블라인드 전형으로 신입 개발자 공채 카카오 공채, 신입 개발자 코딩 능력만 본다 카카오, 신입 공채.. "코딩 실력만 본다" 카카오 "코딩 능력만으로 2018 신입 개발자 뽑는다" 기사의 제..

    [프로그래머스] 신고 결과 받기 - python3

    문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2..

    [프로그래머스] 가장 먼 노드 - 그래프

    [프로그래머스] 가장 먼 노드 - 그래프

    문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 제한사항 노드의 개수 n은 2 이상 20,000 이하입니다. 간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다. vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다. 입출력 예 n verte..

    Nest JS 프레임워크 공부하기 - TypeORM, MariaDB(mysql) 연동

    Nest JS 프레임워크 공부하기 - TypeORM, MariaDB(mysql) 연동

    오늘은 서비스를 운용하기 위해 필요한 데이터베이스를 직접 연결해보는 방법에 대해서 알아보도록 하자. 오늘날 대부분의 서비스들은 데이터를 저장하고 저장된 데이터로 sight와 의미를 생성해내는 일을 하고 있으며, 이를 실현하기 위해서는 서버와 데이터베이스의 연결은 가히 필수라고 말할 수 있다. 과거 서비스의 데이터베이스를 연동하기 위해서는 데이터베이스 전문가인 DBA가 쿼리를 생성하고, 백엔드 개발자가 해당 쿼리를 JDBC등을 통해 데이터를 받아오는 작업을 했었다. 그렇다 보니 회의를 할 때도, 이 둘 간의 신경전이 꽤나 있었다고 한다... 결국 서비스의 기능은 데이터베이스의 데이터가 핵심이기 때문에 DBA의 권력이 더 강했고, 이에 화가 난 백엔드개발자가 DBA 없이 프로그래밍에만 집중하여 개발할 수 있..

    ROPE 프로젝트

    블로그를 열심히 시작한지 얼마 되지 않았는데 평소 어떤 페이지에 사람들이 가장 많이 방문했는가 통계를 보면 ROPE 프로젝트에 대해 관심이 많다. (아마 WebRTC를 구현하는 것에 관심을 많이 갖는데 이를 쉽게 구현하고 싶은 사람들이 많이 있는 것 같다.) 아무래도 방향성만 제시하고 끝까지 글을 쓰지 않은 것이 방문한 사람들에게 살짝 부끄러워 진다. 그래서 해당 글을 마무리 하고 싶어서 오랜만에 코드를 열어봤더니... OMG.... 정말 초창기에 아무것도 모를때 부딪히면서 만든 코드라, 구조도 없고 코드도 개판이고, 그래서 대대적인 수정을 통해 사람들이 잘 사용할 수 있도록 해보려고 한다. 이번 열정은 좀 오래 가기를 빈다...

    Nest JS 프레임워크 공부하기 (Node.js) - 3 [DTO, DAO, Entity]

    Nest JS 프레임워크 공부하기 (Node.js) - 3 [DTO, DAO, Entity]

    오늘은 프레임워크에 좀 더 상세히 알아보면서 모듈로 관리하는 방법에 대해 알아보도록 하자. DB까지 접근하기 위한 Framework의 구조는 주로 다음과 같이 구성되며 이전에 Contorller, Service, Repository에 대한 설명을 했었다. [이전 글 참조 : https://roothyo.tistory.com/56?category=1034781] 간단히 설명하자면, Contoller : 해당 서버로 요청이 오는 것을 처리해주는 Router 기능 Service : 유저가 요청한 데이터를 실질적으로 처리하고 Controller에게 건네주는 기능 Repository : 서버에서 DB로 직접 접근하여 데이터를 가져오는 기능 이라고 보면 된다. 그럼 그냥 Framework를 위와 같이 3개의 구조로..

    Nest JS 프레임워크 공부하기 (Node.js) - 2

    Nest JS 프레임워크 공부하기 (Node.js) - 2

    오늘은 Service에 대해 알아보려 한다. Nest는 객체지향적 방식으로 종속성을 설계하기 때문에 서비스, 리포지토리, 팩토리, 헬퍼 등이 프로바이더로 취급되며 사용된다. 서버에서의 처리 과정을 다음과 같이 크게 3가지로 분리된다. Controller - 클라이언트의 요청을 받음 - 요청에 대한 처리는 서비스에게 전담 - 클라이언트에게 응답 Service - 사용자의 요구사항 처리 - DB 정보가 필요한 경우 Repository에게 전담 Repository - DB 관리(연결, 해제, 자원 관리) - DB CRUD 작업 처리 그럼, Nest.js에서 Service를 구현하는 것을 알아보자. 먼저, Nest CLI를 통해 Service를 생성해준다. 서비스 name은 controller와 똑같이 movi..