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

    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

    댓글