카테고리 없음

[프로그래머스] 230719 코딩테스트 연습

보라해바라기 2023. 7. 19. 15:13
SMALL

1. 배열 만들기 1

function solution(n, k) {
    var answer = [];
    
    for (let i=1; i<=(n/k); i++) {
        answer.push(k*i);
    }
    
    return answer;
}

 

2. 글자 지우기

function solution(my_string, indices) {
    var answer = '';
    let splitedArr = [];
    
    splitedArr = my_string.split("");
   
     for(let i=0; i<splitedArr.length; i++) {
        for (let j of indices) {
            if ( i == j ) {
                splitedArr[i] = " ";
            }
        }
    }
    
    // ** 문자열 공백 제거하기
    // trim (문자열 앞 뒤 공백 제거)
    // replace(조건에 맞는 문자열을 특정 문자열로 변경)
    // replace의 / /g => 문자열의 "모든 공백"을 찾음.
    answer = splitedArr.join('').replace(/ /g, '');
    
    return answer;
}

 

3. 카운트다운

// ** 자바스크립트에서는 배열에 리스트의 기능이 포함

function solution(start, end) {
    var answer = [];

    for (let i = end; i<start+1; i++) {
        answer.push(i);
    }
    
    answer = answer.reverse();
    
    return answer;
}

 

4. 가까운 1 찾기

function solution(arr, idx) {
    var answer = 0;
    
    for (let i = idx; i<arr.length; i++) {
        if (arr[i] == 1) {
            answer = i;
            break;
        } 
        else {
            answer = -1;
        }
    }
    
    return answer;
}

 

5. 리스트 자르기

function solution(n, slicer, num_list) {
    var answer = [];
    const [a, b, c] = slicer;
    
    if (n==1) {
        answer = num_list.slice(0, b+1);
    } else if(n==2) {
        answer = num_list.slice(a);
    } else if(n==3) {
        answer = num_list.slice(a, b+1);
    } else if(n==4) {
        let rangeArr = num_list.slice(a,b+1);
        for (let i=0; i<rangeArr.length; i++) {
            if (i%c==0) {
                answer.push(rangeArr[i]);
            }
        }
    }
    
    return answer;
}

6. 첫번째로 나오는 음수

function solution(num_list) {
    var answer = 0;
    
    // ** 기본적으로 forEach() 함수는 break 존재 X
    // ** 방법 1. Array.some() > true는 break, false는 continue
    // ** 방법 2. Array.every() > true는 continue, false는 break
    
    num_list.some( i => {
        if (i < 0) { // 배열에 음수가 있을 때
            answer = num_list.indexOf(i);
            return true; // break;
        }
        answer = -1; // 배열에 음수가 없을 때
        return false;
    })
    
    return answer;
}

 

7. 배열 만들기 3

function solution(arr, intervals) {
    var answer = [];
    const [ [a1, b1], [a2, b2] ] = intervals;
    
    let arr1 = arr.slice(a1, b1+1)
    let arr2 = arr.slice(a2, b2+1)
    answer = arr1.concat(arr2); // concat: 배열 연결
    
    return answer;
}

 

 

728x90