문제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 |