전체 글

전체 글

    제코베 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);

    제코베 JS 100제 / 56 / 객체의 함수 응용

    다음의 객체가 주어졌을 때 한국의 면적과 가장 비슷한 국가와 그 차이를 출력하세요. function solution(country_area) { // 한국의 면적 저장 const korea_area = country_area["korea"]; // 객체에서 한국에 대한 정보 삭제 delete country_area.korea; // [나라, 면적]을 배열로 저장 let area_entries = Object.entries(country_area); // 면적의 값만 배열로 저장 let areas = Object.values(country_area); for (let i = 0; i < areas.length; i++) { // 면적의 차이 구하기 areas[i] = Math.abs(areas[i] - k..