본문 바로가기

js17

javascript 모든 단어의 첫 문자를 대문자로, 나머진 소문자로 변환하기 문제 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자로 리턴하여라 단 첫 문자가 알파벳이 아닐 때는 이어지는 알파벳은 소문자로 쓴다 나의 풀이 (틀린 해답 1) function solution(s) { return s.split(" ").map(word => word[0].toUpperCase() + word.slice(1).toLowerCase() ).join(" "); } split(" ") : 문자열 s를 공백을 기준으로 분리하여 배열로 반환 map() : 나눠진 문자열 배열의 각 요소에 대해 주어진 함수를 호출하고 새로운 배열로 반환하다 각 요소의 첫번째 [0] 글자는 대문자화 시키고 그 나머지 slice 두번째 글자부터는 소문자화 시킨다 join(" ") : 배열의 모든 요소를 하나.. 2023. 10. 26.
javascript 배열 내 없는 숫자 더하기 문제 0부터 9까지 숫자가 랜덤으로 들어있는 정수 배열 numbers가 변수로 주어진다. 0부터 9까지 없는 숫자를 모두 찾아 더한수를 리턴하여라 코드 풀이 function solution(numbers) { var num = [0,1,2,3,4,5,6,7,8,9]; var arr = num.filter(x => !numbers.includes(x)); return arr.reduce((a,b) => a+b) } fliter를 사용하여 numbers에 포함되지 않은 숫자들을 필터링한다. includes : 배열의 항목에 특정 값이 있는지 판단하여 t/f로 리턴한다 Array.prototype.includes() - JavaScript | MDN Array 인스턴스의 includes() 메서드는 배열의 항.. 2023. 10. 18.
Palindrome Number 문제 주어진 정수 x가 팰린드롬인지 확인하는 것 팰린드롬은 앞으로 읽으나 뒤로 읽으나 동일한 문자열 또는 숫자이다. 동일시 true 아니면 false를 반환 내 코드 풀이 var isPalindrome = function(x) { if (x < 0) { return false; } var num = x.toString(); var reverseNum = [...num].reverse().join(''); return num === reverseNum; }; 먼저 x가 음수인지 확인후 false로 반환하여 판별을 종료한다 num 변수는 입력된 숫자 x를 문자열로 변환한 것 toString()을 사용 reverseNum은 num 문자열을 배열로 변환하고 배열을 뒤집은 다음 다시 문자열로 변환한 것 초기에 음.. 2023. 10. 4.
javascript 배열 중복 제거후 변수 k의 길이만큼 자르거나 채우는 방법 문제 더보기 주어진 정수 배열 arr에 있는 숫자는 순서대로 확인하며, 이전에 나온 적이 없는 숫자일 경우, 그 숫자를 새로운 배열에 추가한다. 만약 새로운 배열의 길이가 k보다 작을 경우 나머지 부분을 -1로 채운다 == 중복제거한 새 배열을 가져와 새 배열의 길이와 k를 비교하는 문제 코드 풀이 function solution(arr, k) { const set = new Set(arr); var array =[...set]; if(array.length < k) { const count = k - array.length; for(let i = 0; i < count; i++) { array.push(-1); } } return array.slice(0, k) } 1. 배열 중복 제거 Set cons.. 2023. 9. 11.
javascript 영문으로 표기된 숫자 문자열을 숫자의 수로 변경하기 문제 영문으로 되어있는 문자를 숫자로 변경하라 코드 풀이(정규식 사용) function solution(numbers) { var en = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]; for(let i = 0; i< en.length; i++) { numbers= numbers.replace(new RegExp(en[i], "g"), i); } return parseInt(numbers); } 영단어 배열 en, 인덱스 i와 배열 내 원소 en[i]를 사용해 각 숫자에 해당하는 영단어를 찾아낼 수 있다 for 반복문을 사용해 각 영단어를 숫자로 대체한다 numbers.replace를 사용해 number.. 2023. 8. 26.
[javascript] for..of / for문 / indexOf를사용한 알파벳 등장 횟수 계산 문제 문자열 my_string이 주어질 때, A부터 z까지 알파벳 등장 횟수를 순서대로 담은 52의 정수 배열을 리턴하여라 코드 풀이 function solution(my_string) { const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; const counts = new Array(52).fill(0); for (const char of my_string) { const index = alphabet.indexOf(char); if (index !== -1) { counts[index]++; } } return counts; } 해결방안 alphabet : 알파벳 대소문자를 나타내는 문자열 counts :알파벳 A-z 개수.. 2023. 8. 25.