문제 주어진 문자열의 마지막 문자와 첫 번째 문자를 결합하여 반환하는 프로그램을 작성하세요. 입력 1글자 이상인 영문 소문자로 이루어진 문자열 예시 const test_case1 = 'a' //aa const test_case2 = 'ajsklfjslkfjslkfb' //ab 풀이 function concatenateFirstAndLast(str) { return str.slice(str.length - 1, str.length) + str.slice(0, 1); } slice 함수는 지정된 위치에 있는 요소들을 추출하는 javascript함수입니다. slice(startIndex, endIndex)로 startIndex 위치부터 endIndex 바로 전까지 문자열을 추출합니다. endIndex 생략시 ..
문제 문자열과 정수가 주어졌을 때 문자열의 정수번째 문자를 반환하는 프로그램을 작성하세요. 예시 const test_case = 'helloworld 4' 풀이 function getCharacterAtIndex(input) { const [S, i] = input.split(' '); return S.slice(i - 1, i); } 문자열에서 해당 인덱스에 있는 문자를 반환합니다. 입력받은 문자열을 공백을 기준으로 나눕니다
문제 학생들의 시험 점수가 주어졌을 때, 각 학생의 점수를 그 학생들의 최고 점수를 기준으로 조정한 후, 전체 평균을 구하는 프로그램을 작성하십시오. 입력 첫 번째 파라미터에는 학생의 수를 나타내는 정수 N이 주어집니다. 두 번째 파라미터에는 각 학생들의 시험 점수를 나타내는 N개의 배열로 주어집니다. 시험 점수는 0 이상 100 이하의 정수입니다. 예시 const test_n = 5 const tset_score = [10, 20, 30, 40, 50] 풀이 function calculateAdjustedAverage(n, scores) { function add(sum, cur) { return sum + cur; } const sumValue = scores.reduce(add, 0); const ..
문제 N개의 숫자가 순서대로 적힌 카드가 있습니다. 이 중 M번동안 범위 안에 있는 숫자들을 역순으로 배치합니다. 그 후, 왼쪽부터 숫자를 출력하는 프로그램을 작성하시오. 예를 들어, 카드에 숫자가 1부터 10까지 순서대로 적혀있고, M이 1이고 범위가 1, 2라면, 1과 2를 교체 후, 왼쪽부터 숫자를 출력한다. 입력 처음 배열에는 N과 M이 들어가고 그 다음 배열부터는 범위가 주어집니다. 예시 const test_case = [[5, 3], [2, 5], [1, 3], [2, 4]] 풀이 function reversedSubset(numbers) { const n = numbers[0][0]; const m = numbers[0][1]; const result = Array.from({ length:..
문제 입력된 값에서 34로 나눈 나머지가 각각 몇 개 나왔는지 출력하는 프로그램을 작성하시오 나머지의 개수가 0인 값은 출력하지 않습니다. 입력 공백으로 구분된 음이 아닌 정수로 들어갑니다. 예시 const testCase='50 20 10 3 55 13 96 324' 풀이 function countRemainders(number) { const divisor = 34 const remainders = new Array(divisor).fill(0); const numbers = number.split(' ').map(Number); numbers.forEach((e) => { remainders[e % divisor]++; }); remainders.forEach((e, idx) => { if (e) ..
문제 강아지 X는 M훈련사의 수업을 듣고 있다. 교실에는 30마리의 강아지가 있으며, 각각의 강아지는 1번부터 30번까지 출석번호를 가지고 있다. 훈련사가 출석번호를 부르는데 출석하지 않은 강아지를 찾으시오 입력 각 강아지의 출석번호 1번부터 30번까지 한칸씩 띄어서 주어집니다. 예시 const testCase = '2 3 4 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30' 풀이 function findMissingDogIDs(ids) { const result = new Array(30).fill(0); ids.split(' ').forEach((e) => { result[e - 1] = 1; }); result.forEach(..