본문 바로가기

Algorithm

(185)
신규 아이디 추천 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카..
매칭 점수 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/42893 코딩테스트 연습 - 매칭 점수 매칭 점수 프렌즈 대학교 조교였던 제이지는 허드렛일만 시키는 네오 학과장님의 마수에서 벗어나, 카카오에 입사하게 되었다. 평소에 관심있어하던 검색에 마침 결원이 발생하여, 검색개발팀 programmers.co.kr 프렌즈 대학교 조교였던 제이지는 허드렛일만 시키는 네오 학과장님의 마수에서 벗어나, 카카오에 입사하게 되었다. 평소에 관심있어하던 검색에 마침 결원이 발생하여, 검색개발팀에 편입될 수 있었고, 대망의 첫 프로젝트를 맡게 되었다. 그 프로젝트는 검색어에 가장 잘 맞는 웹페이지를 보여주기 위해 아래와 같은 규칙으로 검색어에 대한 웹페이지의 매칭점수를 계산 ..
길 찾기 게임 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 전무로 승진한 라이언은 기분이 너무 좋아 프렌즈를 이끌고 특별 휴가를 가기로 했다. 내친김에 여행 계획까지 구상하던 라이언은 재미있는 게임을 생각해냈고 역시 전무로 승진할만한 인재라고 스스로에게 감탄했다. 라이언이 구상한(그리고 아마도 라이언만 즐거울만한) 게임은, 카카오 프렌즈를 두 팀으로 나누고, 각 팀이 같은 곳을 다른 순서로 방문하도록 해서 먼저..
블록 이동하기 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 로봇개발자 무지는 한 달 앞으로 다가온 카카오배 로봇경진대회에 출품할 로봇을 준비하고 있습니다. 준비 중인 로봇은 2 x 1 크기의 로봇으로 무지는 0과 1로 이루어진 N x N 크기의 지도에서 2 x 1 크기인 로봇을 움직여 (N, N) 위치까지 이동 할 수 있도록 프로그래밍을 하려고 합니다. 로봇이 이동하는 지도는 가장 왼쪽, 상단의 좌표를 (1, 1)로 하며 지도 내에 표시된..
외벽 점검 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/60062 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 도중에 주기적으로 외벽의 상태를 점검해야 할 필요가 있습니다. 레스토랑의 구조는 완전히 동그란 모양이고 외벽의 총 둘레는 n미터이며, 외벽의 몇몇 지점은 추위가 심할 경우 손상될 수도 있는 취약한 지점들이 있습니다. 따라서 내부 공사 도중에도 외벽의 취약 지점들이 손상되지 않았는 지, 주기적으로 친구들을 보내서 점검을 하기로 했습니다. 다만, 빠른 공사 진행을 위해 점검 시간을 1시간으로 제한했습니다. 친구들이 1..
자료구조2 자료구조 2 트리, 그래프 트리 특징 계층적인 구조를 가진 자료구조 원소들 간에 1:N 관계를 가지는 비선형 자료구조 구성요소를 노드(node)라고 부르며, 노드 간의 관계를 부모, 자식 관계라고 표현한다 루트(root): 부모가 없는 최상단의 노드 서브트리(subtree): 트리 속 트리 단말노드(Terminal node)또는 리프노드(Leaf Node): 자식 노드가 존재하지 않는 노드 전체적인 형상에 있어서는 레벨(level), 높이(height), 차수(degree)를 사용한다 레벨(level): 트리의 각 층의 번호 레벨의 시작을 0으로 시작하기도, 1로 시작하기도 한다 높이(height): 트리의 최대 레벨(깊이) 양 쪽 서브트리의 높이가 다를 경우 가장 레벨이 큰 쪽을 따른다 차수(degre..
자료구조1 자료구조 1 배열, 문자열 배열 특징 데이터들이 순차적으로 나열되어 있는 자료구조 요소들의 집합, 특정 인덱스를 통해 요소에 접근할 수 있음 하나의 연관된 데이터를 그룹으로 다루기 위해 사용 여러 형태로 사용 가능(1차원, 2차원, 3차원 등) 여러 자료 구조에서 직간접적으로 사용됨 탐색(접근) 속도가 빠르다 한계 삽입, 삭제 시 오버헤드가 존재 크기를 변경하기가 어려움 문자열(string) 특별한 1차원 배열, char 형의 데이터들이 저장됨 해당 자료구조를 다루기 위한 함수들이 존재 c의 경우 길이 계산을 위한 strlen, 복사를 위한 strcpy 등 연결리스트 특징 데이터들이 노드라는 곳에 저장, 해당 노드들이 연결된 자료구조 첫 번째 노드를 헤드, 마지막 노드를 테일이라고 부른다. 각 노드에는 ..
후보키 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 프렌즈대학교 컴퓨터공학과 조교인 제이지는 네오 학과장님의 지시로, 학생들의 인적사항을 정리하는 업무를 담당하게 되었다. 그의 학부 시절 프로그래밍 경험을 되살려, 모든 인적사항을 데이터베이스에 넣기로 하였고, 이를 위해 정리를 하..