3일차 → 이상한 문자 만들기(split(), map(), forEach(), splice(), toUpperCase(), toLowerCase(), join())
문제설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한사항 - 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백 기준)별로 짝/홀수 인덱스를 판단해야 합니다. - 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리합니다. 입출력 예 내가 푼 문제 풀이 function solution(s) { let answer = ''; // 1. 단어별로 나눈다. let arr = s.split(" ") // [ 'try', 'hello', 'world' ] let result = arr.map((item, i)=>..
2021. 11. 10.
3일차 → 자연수 뒤집어 배열로 만들기(toString(), split(), reverse(), map())
문제설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하세요 예를 들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴합니다. 제한사항 - n은 10,000,000,000 이하인 자연수입니다. 내가 푼 문제 풀이 function solution(n) { return (n+'').split('').reverse().map((item)=>{return parseInt(item)}) } 1) (n+'') : 숫자를 문자열 타입으로 변환한다. (== n.toString) 2) split('') : 문자열로 바뀐 n을 한글자씩 잘라서 배열에 담는다. 3) reverse() : 배열을 뒤집는다. 4) 배열함수 중 map() 함수를 사용하면 return한 결과값이 배열에 담기기 때문에 f..
2021. 11. 10.
2일차 → 내적(forEach(), reduce())
문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어진다. a와 b의 내적을 return 하는 함수를 완성하세요 (내적이란 적을 쌓는다는 뜻의 한자이고, 곱하다는 뜻을 가지고 있다.) 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 - a, b의 길이는 1 이상 1,000 이하입니다. - a, b의 모든 수는 1,000 이상 1,000 이하입니다. 내가 푼 문제 풀이 function solution(a, b) { let answer = 0 for(let i = 0; i{ answer += item * b[i] }) return answer; } 1) a, b 배열이 길이가 같고 반환 값이 ..
2021. 11. 9.