본문 바로가기

JS 코테

<Javascript-CT> 기초 DAY 12

 

문제1
	알파벳으로 이루어진 문자열 myString과 pat이 주어집니다. 
    myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0을 return 하는 solution 함수를 완성해 주세요.
	단, 알파벳 대문자와 소문자는 구분하지 않습니다.
    
문제2
	정수가 담긴 리스트 num_list가 주어질 때, 
    리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 
    모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.
    
문제3
	정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 
    50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요.
    
문제4
	정수 배열 numbers와 정수 n이 매개변수로 주어집니다. 
    numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 
    이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요.
    
문제5
	오늘 해야 할 일이 담긴 문자열 배열 todo_list와 
    각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, 
    todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

 

 

 

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

- string.toUpperCase()

- string.toLowerCase()

- Array.reduce

 

 

내 답안지

문제 1

function solution(myString, pat) {
    const temp = myString.toUpperCase()
    const s = pat.toUpperCase()
    if(temp.includes(s)){
        return 1
    }else{
        return 0
    }
}

문제에 대소문자 구분을 안한다고 해서 전부 대문자로 바꾼다음 비교해 주었다

 

 

문제2

function solution(num_list) {
    if(num_list.length >= 11){
        return num_list.reduce((val, curitem) =>  val+curitem)
    }else{
        return num_list.reduce((val, curitem) =>  val*curitem)
    }
}

 

 

문제3

function solution(arr) {
    arr.forEach((item, index) => {
        if(item >= 50 && item %2 === 0){
            arr[index] = item/2
        }else if(item < 50 && item%2 === 1){
            arr[index] = item*2
        }
    })
    return arr
}

 

 

문제4

function solution(numbers, n) {
    let result = 0
    for(let num of numbers){
       result += num
        if(result > n){
            return result
        }
    }
}

reduce를 써보려다 실패했다ㅠㅜ

참고할 다른사람 답

function solution(numbers, n) {
    return numbers.reduce((a,c,i,t)=>(a<=n)?a+c:a)
}

 

 

문제5

function solution(todo_list, finished) {
    const result = []
    for(let i=0; i < todo_list.length; i++){
        if(finished[i] === false){
            result.push(todo_list[i])
        }
    }
    return result
}
728x90

'JS 코테' 카테고리의 다른 글

<Javascript-CT> 기초 DAY 14  (0) 2025.05.04
<Javascript-CT> 기초 DAY 13  (0) 2025.04.29
<Javascript-CT> 기초 DAY 11  (0) 2025.04.28
<Javascript-CT> 기초 DAY 10  (0) 2025.04.28
<Javascript-CT> 기초 DAY 9  (0) 2025.04.27