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

    SMALL

    1. 문자열 섞기

    function solution(str1, str2) {
        var answer = '';
        let str1_arr = [];
        let str2_arr = [];
        
        str1_arr = str1.split('');
        str2_arr = str2.split('');
        
        const length = Math.ceil((str1_arr.length + str2_arr.length)/2);
        // Math ceil : 올림
        
        for (var i=0; i<length; i++) {
            answer += str1_arr[i] + str2_arr[i];
        }
        
        return answer;
    }

     

    2. 문자 리스트를 문자열로 변환

    function solution(arr) {
        var answer = '';
        
        arr.forEach(i => {
            answer += i;
        })
        
        return answer;
    }

     

    3. 두 수의 연산값 비교하기

    function solution(a, b) {
        var answer = 0;
        
        var str_a = a.toString();
        var str_b = b.toString();
        
        var res1 = parseInt(str_a+str_b); // a ⊕ b
        var res2 = 2*a*b; // 2 * a * b
        
        if (res1 >= res2) {
            answer = res1;
        } else {
            answer = res2;
        }
        
        return answer;
    }

     

    4. 문자열 곱하기

    function solution(my_string, k) {
        var answer = '';
        answer = my_string.repeat(k);
        return answer;
    }

     

    5. 더 크게 합치기

    function solution(a, b) {
        var answer = 0;
        var str_a = a.toString();
        var str_b = b.toString();
        
        res1 = parseInt(str_a + str_b);
        res2 = parseInt(str_b + str_a);
        
        answer = ((res1 >= res2) ? res1 : res2);
        return answer;
    }

     

    6. n의 배수

    function solution(num, n) {
        var answer = 0;
        
        if (num%n == 0) { // num가 n의 배수라면, 나머지가 0임.
            answer = 1;
        } else {
            answer = 0;
        }
        return answer;
    }

     

    7. 공배수

    function solution(number, n, m) {
        var answer = 0;
        
        if ((number%n == 0) && (number%m == 0)) {
            answer = 1;
        } else {
            answer = 0;
        }
        
        return answer;
    }

     

    8. 홀짝에 따라 다른 값 반환하기

    function solution(n) {
        var answer = 0;
        
        // 홀, 짝 판단
        if (n%2 == 1) { // 홀수
            for (var i=1; i<=n; i++) {
                if (i%2 == 1) {
                    answer += i;
                }
            }
        } else { // 짝수
            for (var i=1; i<=n; i++) {
                if (i%2 == 0) {
                    answer += i*i;
                }
            }
        }
        
        return answer;
    }

     

    9. 조건 문자열

    function solution(ineq, eq, n, m) {
        var answer = 0;
        var x = 0;
        
        if (ineq == ">") {
            if (eq == "=") {
                x = 1;
            } else if (eq == "!") {
                x = 2;
            }
        } else if (ineq == "<") {
            if (eq == "=") {
                x = 3;
            } else if (eq == "!") {
                x = 4;
            }
        }
        
        switch (x) {
            case 1:
                answer = (n>=m) ? 1 : 0;
                break;
            case 2:
                answer = (n>m) ? 1 : 0;
                break;
            case 3:
                answer = (n<=m) ? 1 : 0;
                break;
            case 4:
                answer = (n<m) ? 1 : 0;
                break;
            default:
                answer = -1;
                break;
        }
        
        return answer;
    }

     

    10. flag에 따라 다른 값 반환하기

    function solution(a, b, flag) {
        var answer = 0;
        
        answer = (flag == true) ? (a+b) : (a-b);
        
        return answer;
    }

     

     

     

    728x90

    댓글