본문 바로가기

JS 코테

<Javascript-CT> 기초 DAY 3 연산

 

 

문제 1
    길이가 같은 두 문자열 str1과 str2가 주어집니다.
    두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 
    return 하는 solution 함수를 완성해 주세요.
	입출력 예
    str1	str2	result
    "aaaaa"	"bbbbb"	"ababababab"
 
문제2
	문자들이 담겨있는 배열 arr가 주어집니다. 
    arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.
    입출력 예
    arr	result
    ["a","b","c"]	"abc"
    
문제3
	문자열 my_string과 정수 k가 주어질 때, 
    my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

문제4
	연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
    12 ⊕ 3 = 123
    3 ⊕ 12 = 312
    양의 정수 a와 b가 주어졌을 때, 
    a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.
	단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다.

문제5
	연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
    12 ⊕ 3 = 123
    3 ⊕ 12 = 312
    양의 정수 a와 b가 주어졌을 때, 
    a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.
    단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다.

 

 

🕹️ 문제를 풀기위해 알면 좋을 것 

2번 문제 - arr.join( )

 

3번 문제 - string. repeat(n)

 

4번 문제 - Math.max( )와  `` (백틱)

 

내 답안지

문제 1번

function solution(str1, str2) {
    var answer = '';
    const strArr1 = str1.split('')
    const strArr2 = str2.split('')
    let temp = []
    for(let i=0; i < str1.length; i++){
        temp.push(str1[i])
        temp.push(str2[i])
        if(temp.length == (str1.length+ str2.length)){
            answer = temp.join('')
        }
    }
    return answer;
}

 

문제 2

function solution(arr) {
    var answer = arr.join('');
    return answer;
}

 

문제 3

function solution(my_string, k) {
    var answer = '';
    let i = 0
    while(i < k){
        answer += my_string
        i++
    }
    return answer;
}

+) 다른 사람의 답

string.repeat(n) 이라는 함수가 있더라...

 

문제 4

function solution(a, b) {
    var answer = 0;
    let temp1 = a.toString() + b.toString()
    let temp2 = b.toString() + a.toString()
    
    if(Number(temp1) > Number(temp2)){
        answer = Number(temp1)
    }else if(Number(temp1) < Number(temp2)){
        answer = Number(temp2)
    }else {
        answer =  Number(temp1)
    }
    return answer;
}

+) 다른 사람의 풀이

function solution(a, b) {
    return Math.max(Number(`${a}${b}`), Number(`${b}${a}`))
}

 

 

문제5

function solution(a, b) {
    var answer = 0;
    let temp1 = Number(`${a}${b}`)
    let temp2 = 2*a*b
    answer = Math.max(temp1, temp2)
    return answer;
}

 

728x90