Algorithm/Javascript

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

보라해바라기 2023. 7. 13. 14:52
SMALL

1. 글자 이어 붙여 문자열 만들기

function solution(my_string, index_list) {
    var answer = '';
    
    for (let i=0; i<index_list.length; i++) {
        answer += my_string[index_list[i]];
    }
    
    return answer;
}

 

2. 9로 나눈 나머지

function solution(number) {
    let answer = 0;
    let res = 0;
    
    var arr = number.split(''); // 숫자 나누기
    for (let i = 0; i<arr.length; i++) {
        arr[i] = parseInt(arr[i]); // 정수형으로 바꾸기
    }
    
    arr.forEach( s => {
       res += s; 
    });
    
    answer = res%9;
    
    return answer;
}

** Number()을 이용하면 더 간결한 코드 가능

function solution(number) {
    let answer = 0;
    
   	for(let i of number) {
    	answer += Number(i);
    }
    
    answer %= 9;
    
    return answer;
}

// for ... in : 객체의 반복
// for ... of : 배열의 반복

 

3. 문자열 여러 번 뒤집기

function solution(my_string, queries) {
    let answer = '';
    
    queries.forEach( ([s, e]) => {
        // my_string을 배열로 만들기
        const copyArr = [...my_string]; 
        const sliced_str = copyArr.slice(s, e+1);
        const reverse_str = sliced_str.reverse().join(''); 
        copyArr.splice(s, e-s+1, reverse_str);
        // ** splice: 특정 인덱스 범위에 해당하는 배열요소 삭제 후, 새로운 요소를 넣음.
        my_string = copyArr.join('');
    });

    answer = my_string;
    
    return answer;
}

 

 

728x90