본문 바로가기

WorkOut/JavaScript34

Day 7: 꼬리 문자열, 특별한 이차원 배열 1, 2, 두 수의 연산값 비교하기, 정수를 나선형으로 배치하기 꼬리 문자열ex문자를 포함한 문자열 리스트의 요소를 제거하고 나머지를 합쳐서 단어로 출력function solution(str_list, ex) { const re = str_list.reduce((acc, cur) => { if(!cur.includes(ex)) acc.push(cur) return acc }, []) return re.join('')}다른 답:const solution = (str_list, ex) => str_list.filter(v => !v.includes(ex)).join('')filter 이용특별한 이차원 배열 1n이 1이면 [[1]], n이 2면 [[1,0], [0, 1]] 이런 식의 이차원 배열 표현function solution(.. 2025. 8. 29.
Day6: l 로 만들기, 정수 부분, 문자열 바꿔서 찾기, 정수 찾기,배열의 요소 삭제하기 l 로 만들기:ㅣ보다 순서가 먼저인 알파벳은 모두 l로 바꾸기function solution(myString) { return [...myString].map((v) => v.charCodeAt() 다른 답:const solution = myString => myString.replace(/[a-k]/g,'l')정규식을 이용한 풀이function solution(myString) { return [...myString].map((v) => v 문자 자체 비교 가능정수 부분:정수 부분을 리턴function solution(flo) { return Math.floor(flo)}다른 답:const solution = flo => ~~flo;NOT연산자를 두번 사용하여 32비트 정수로 변환하고 .. 2025. 8. 29.
Day5: A 강조하기, 특정한 문자를 대문자로 바꾸기, 조건에 맞게 수열 변경하기 1, 2, 3 A 강조하기:a는 모두 대문자로, 나머지는 소문자로 변환하여 리턴function solution(myString) { return [...myString].map((v) => v === 'a' || v === 'A'? 'A': v.toLowerCase()).join('')}다른 답:const solution = s => s.toLowerCase().replaceAll('a', 'A');replaceAll(a, b): a를 b로 찾아 바꿈.function solution(myString) { return [...myString].map(str => ['a', 'A'].includes(str)? 'A' : str.toLowerCase()).join('');}includes(a): a가 포함되면 t.. 2025. 8. 28.
Day4: 수 조작하기 1, 2, 마지막 두 원소, 주사위 게임 1, 2, 3, 문자열 뒤의 n 글자 수 조작하기 1w, s, d, a로 구성된 문자열을 받아서 각 숫자별로 1, -1, 10, -10을 n에 더한 최종 값을 받는다.function solution(n, control) { for(let i = 0; i 다른 답:const operations = { w: (n) => n + 1, s: (n) => n - 1, d: (n) => n + 10, a: (n) => n - 10,};function solution(n, control) { return [...control].reduce((prev, op) => operations[op](prev), n);}function solution(n, control) { return Array.from(control).reduce((acc.. 2025. 8. 27.
Day3: 접미사 배열, 첫 번째로 나오는 음수, 부분 문자열 이어 붙이기, 글자 이어 붙여 문자열 만들기, 콜라츠 수열 만들기 접미사 배열:접미사를 전부 출력하고 정렬하기function solution(my_string) { var answer = []; for(let i = 0; i 다른 답:function solution(my_string) { return Array.from(my_string) .map((_, i) => my_string.substring(i)) .sort();}const solution = s => Array(s.length).fill('').map((v, i)=> s.slice(-i - 1)).sort()첫 번째로 나오는 음수:function solution(l) { for(let i = 0; i 다른 답:const solution = num_list => num_list.f.. 2025. 8. 26.
Day2: 문자열의 앞의 n 글자, 홀짝에 따라 다른 값 반환하기, 카운트 다운, 배열 만들기 1, 접두사인지 확인하기 문자열의 앞의 n 글자: function solution(my_string, n) { var answer = my_string.slice(0, n); return answer;}다른 답:function solution(my_string, n) { return my_string.substring(0, n);}홀짝에 따라 다른 값 반환하기: n이 홀수라면 n보다 작은 홀수인 양의 정수의 합을 리턴, 짝수라면 n보다 작은 짝수인 양의 정수의 제곱의 합 리턴function solution(n) { let arr = [] let e = 0 let o = 0 for(let i = 0; i n % 2 == 0 ? e += (n ** 2) : 0) else arr.forEach.. 2025. 8. 25.
Day 1: 이어 붙인 수, 대문자로 변환하기, 접미사인지 확인하기, 문자열 이어 붙이기, 순서 바꾸기 이어 붙인 수: 숫자 배열이 들어왔을 때, 홀수와 짝수를 나누어 붙이고 그 합을 구하는 문제function solution(num_list) { let even = Array() let odd = Array() num_list.forEach((n) => n % 2 === 0 ? even.push(n) : odd.push(n)) let even_num = even.join('') let odd_num = odd.join('') var answer = Number(even_num) + Number(odd_num); return answer;}배울 답변: reduce 사용function solution(num_list) { const { odds.. 2025. 8. 24.