분류 전체보기
제코베 JS 100제 / 60 / 번호 매기기
새 학기가 되어 이름을 가나다 순서대로 배정하고 번호를 매기려고 합니다. 데이터에 입력된 이름을 아래와 같이 출력해 주세요. function numbering(students) { students.sort(); students.forEach((student, idx) => { console.log(`번호: ${idx + 1}, 이름: ${student}`); }); } const students = [ "강은지", "김유정", "박현서", "최성훈", "홍유진", "박지호", "권윤일", "김채리", "한지호", "김진이", "김민호", "강채연", ]; numbering(students);
제코베 JS 100제 / 59 / 빈칸채우기
총 문자열의 길이는 50으로 제한하고 사용자가 문자열을 입력하면 그 문자열을 가운데 정렬을 해주고, 나머지 빈 부분에는 '='을 채워 넣어주세요. function fillBlank(str) { let result = ""; result += "=".repeat((50 - str.length) / 2); result += str; result += "=".repeat((50 - str.length) / 2); console.log(result); } const str = "hi"; fillBlank(str);
Algorithm / 정렬 / Radix Sort (기수 정렬)
기수 정렬 // 뒤에서 idx 번째 자릿수를 얻는 함수 function getDigit(num, idx) { // return Math.floor(Math.abs(num) / Math.pow(10, i)) % 10; return Number(String(num).at(-(idx + 1))) || 0; } // 숫자의 자릿수가 몇인지 return 하는 함수 function digitCount(num) { if (num === 0) return 1; // return Math.floor(Math.log10(Math.abs(num))) + 1; return String(num).length; } // 가장 큰 자릿수를 찾는 함수 function mostDigit(nums) { let max = 0; for (..
Algorithm / 정렬 / Quick Sort (퀵 정렬)
퀵 정렬 function quickSort1(arr) { if (arr.length { [array[i], array[j]] = [array[j], array[i]]; }; let pivot = arr[start]; let swap_idx = start; // 마지막에 위치해야 할 인덱스 for (let i = start + 1; i arr[i]) { swap_idx++; swap(arr, swap_idx, i); } } swap(arr, start, swap_idx); return swap_idx; } function quickSort2(arr, left = 0, right = arr.length - 1) { if (left < right) {..
제코베 JS 100제 / 58 / 콤마 찍기
원범이는 편의점 아르바이트가 끝난 후 정산을 하고자 합니다. 정산을 빨리하고 집에 가고 싶은 원범이는 프로그램을 만들려고 합니다. 숫자를 입력받고 천 단위로 콤마(,)를 찍어주세요. 예를 들어, 123456789를 입력받았으면 123,456,789를 출력해야 합니다. function printComma(n) { const n_str = String(n).split("").reverse(); let result = []; for (let i = 1; i < n_str.length + 1; i++) { result.push(n_str[i - 1]); if (i % 3 === 0) { result.push(","); } } if (result.at(-1) === ",") result.pop(); result...
제코베 JS 100제 / 57 / 1의 개수
0부터 1000까지의 1의 개수를 세는 프로그램을 만들려고 합니다. 예를 들어 0부터 20까지 1의 개수를 세어본다면 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19에 각각 1이 들어가므로 12개의 1이 있게 됩니다. 11은 1이 2번 들어간 셈이죠. 그렇다면 0부터 1000까지 수에서 1은 몇 번이나 들어갔을까요? 출력해 주세요. function countOne(n) { let cnt = 0; for (let i = 0; i el === "1").length; } console.log(cnt); } countOne(1000);