[알고리즘] 게임 맵 최단거리
·
알고리즘
문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때는 동, 서, 남, 북 방향으로 한 칸씩 이동하며, 게임 맵을 벗어난 길은 갈 수 없습니다. 아래 예시는 캐릭터가 상대 팀 진영으로 가는 두 가지 방법을 나타내고 있습니다. 첫 번째 방법은 11..
[네이버 부스트캠프 7기] 뒤늦은 2차 후기
·
개발생활
2차 온라인 코딩 테스트 2차는 CS문제는 없이 알고리즘 문제만 있어서 오히려 걱정이 적었다. 생각보다 까다로운 시험 응시 환경을 체크하고 3시간의 긴 시험이 시작되었다. 전반적으로 문제가 어렵다(?)고 느껴지진 않았고 1차 알고리즘 문제와 유사하다고 생각이 들었다. 문제당 약 45분 정도? 50분? 시간이 걸려서 모두 풀고 코드를 점검했다. 테스트케이스 외엔 다른 케이스가 주어지지 않아서 만든 케이스를 하나씩 넣어보면서 점검해보면서 시간을 보내다가 10분정도 일찍 시험을 종료했다. 전반적으로 시험을 치신 분들이 문제 해석에 어렵다고 말씀을 하신걸 보면 나만 그런게 아니라 난이도 자체는 쉬운 것 같다. 내심 합격이라고 생각했지만, 밖으로 표현하면 괜히 불합격할 것 같아서 조용하게 시간을 보내다가 합격 통..
[네이버 부스트캠프 7기] 뒤늦은 1차 후기
·
개발생활
들어가면서 사실 챌린지를 합격하지 않았다면 그대로 사라질 리뷰였지만, 합격을 했기 때문에 나도 한번 글을 써본다. Ho! 지원 배경 개발자로 회사를 다니면서 연차가 쌓여만 가는데, 스스로 크게 변한게 없다고 생각해서 ( 변한게 있을지도? ) 환경을 한번 바꿔보자는 생각으로 당차게 회사를 나와서 공부를 하게 된지 5개월이 흘렀다. 계획했던 기간이 있어 기간에 맞춰 공부를 계속 했지만 제대로 하고 있는지 스스로를 테스트하고 싶어서 네이버 부스트캠프에 지원을 하였다. 부스트캠프? 네이버 커넥트 재단에서 개발 역량 강화 등을 교육시켜주는 고마운 프로그램이다. 모든 과정은 무료이고, 코딩 테스트 접수시에만 1만원 응시료가 있다. AI, Web, Application 3 전형으로 나뉘어져있다. 지원 과정으로는 - ..
[알고리즘] 가장 큰 수
·
알고리즘
문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [6, 10, ..
[알고리즘] 소수 찾기
·
알고리즘
문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers result "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11, ..
[알고리즘] 프린터
·
알고리즘
문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 ..
[알고리즘] 튜플
·
알고리즘
문제 설명 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다. (a1, a2, a3, ..., an) 튜플은 다음과 같은 성질을 가지고 있습니다. 중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2) 원소에 정해진 순서가 있으며, 원소의 순서가 다르면 서로 다른 튜플입니다. ex : (1, 2, 3) ≠ (1, 3, 2) 튜플의 원소 개수는 유한합니다. 원소의 개수가 n개이고, 중복되는 원소가 없는 튜플 (a1, a2, a3, ..., an)이 주어질 때(단, a1, a2, ..., an은 자연수), 이는 다음과 같이 집합 기호 '{', '}'..
[알고리즘] N으로 표현
·
알고리즘
문제 설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하입니다. 수식에는 괄호와 사칙연산만 가능하며 나누기 연산에서 나머지는 무시합니다. 최솟값이 8보다 크면 -1을 return 합니다. 입출력 예 N number return 5 1..