
문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한 조건 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", "kiki"..

문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 조건 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 접근 짝수면 가운데 두 개를 리턴하라고 했으니 양쪽 글자를 제거한 뒤 리턴. index를 사용하면 더 쉬울 거 같은데 재귀함수를 연습해보고 싶었다. 구현 const solution = s => { // 문자열의 길이가 1이거나 2면 리턴 if (s.length { let answer = ""; // 가운데 인덱스 const mid = Math.floor(s.length/2); answer = s.length % 2 !== 0 ? s[mid]..

문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 접근 주어진 배열 내 최소값을 구한다. 해당 값을 지운다. 지웠을 때 배열의 길이가 0이면 -1채워서 리턴한다. 구현 const solution = arr => { // 배열 초기화 let answer = [...arr]; // 배열 내 임의 요소로 최소값 초기화 let min = ans..

문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 접근 a와 b가 같을 경우의 처리를 먼저 정의한다. a와 b중 최소값과 최대값을 판별하고, 그 사이의 값을 구한다. 구현 const solution = (a, b) => { let answer = 0; // a와 b가 같으면 둘 중 하나 리턴 if (a === b) { return a; } // 오름차순으로 정렬하..