Algorithm/Javascript

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

보라해바라기 2023. 7. 4. 15:39
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