문제 두 정수 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; } // 오름차순으로 정렬하..
문제 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성..
자연수 뒤집어 배열로 만들기 문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n: 12345 return: [5,4,3,2,1] 접근 정렬을 해야하니 한 글자씩 배열에 담고 역순으로 바꾼다. 구현 const solution = n => { let answer = []; const nStr = n + ""; answer = nStr.split("").reverse().map(item => +item); return answer; };
문자열 내림차순으로 배치하기 문제 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한사항 str은 길이 1 이상인 문자열입니다. 입출력 예 input: "Zbcdefg" return: "gfedcbZ" 접근 주어지는 문자열을 배열로 전환하고, 내림차순으로 정렬한 뒤, 다시 문자열로 변환하여 리턴한다. 구현 const solution = s => { let answer = ''; // 받아온 문자열을 정렬하기 위해 배열로 만듦 const arr = s.split(""); // 내림차순 정렬 const sorted = arr.sort(..