분류 전체보기 210

1주차

다 듣기는 했었는데 기억이 나지 않을 거 같아 다시 들어보는 웹개발종합반 1주차 브라우저의 역할 서버한테 요청하고 (HTML CSS J.S) 받아와서 그려준다 html뼈대 css꾸미기 js는 움직이기 tag(어떤 역할을 하는 도구) 수 많은 태그 존재하고 모두를 외우는 건 비효율적이다 내가 필요한 태그를 찾아서 상황별로 복사해 사용하고 내용을 채운다 예) css 모서리 둥글게 등의 검색으로 내가 필요한 태그나 css 등을 찾는다 핵심은 복사 붙여넣기 그리고 그에 맞는 약간의 수정 css의 핵심은 가리키고 꾸민다 (가리킨다 이게 좀 중요함) 개인적인 생각인데 지정해서 따로 빼와서 코드를 만들지 않는다면 어떤게 내용이고 꾸미는건지 알아보기 힘들고 여러 개를 같이 바꿀 때 각각 바꿔줘야한다 이 외에도 많은 장..

숨어있는 숫자의 덧셈 (1)

문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요. function solution(my_string) { let arr = my_string.match(/\d/g) let numbers = arr.map(n=>Number(n)) return numbers.reduce((a,b)=>a+b); } 나름 정규표현식을 활용해서 깔끔하게 풀었다 function solution(my_string) { return [...my_string].reduce((acc,cur)=>Number(cur) ? +acc + +cur : acc, 0) } 다른 글에서 .reduce() 안에 Number()으로 숫자형으로 바꾸면서 누적값..

자릿수 더하기 - 숫자를 각 자리마다 배열에 담기

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요 function solution(n) { let str = String(n) let numFn = arg => Number(arg) let num = [...str].map(numFn) return num.reduce((a,c)=>a+c); } 숫자를 문자열로 바꾸고 이를 스프레드 문법으로 배열에 담은 다음에 다시 그 문자열을 하나씩 숫자로 바꿔서 계산하였다 function solution(n) { return n .toString() .split("") .reduce((acc, cur) => acc + Number(cur), 0); } 이렇게 숫자를 문자열로 바꿔 배열에 담을 수 있고 마지막..

배열의 유사도 - .filter() / .includes() 활용 복습 및 Set형 활용

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요. function solution(s1, s2) { let answer = s1.filter(t => s2.includes(t)) return answer.length; } 전에 풀었던 문제에서 다른 사람의 풀이를 인상 깊게 본 적이 있어서 쉽게 풀었다 이를 한 번 더 기억하기 위해 가져왔다 .filter()의 콜백함수로 .includes()를 주어 s1과 s2의 같은 요소들만 모은 배열을 만든 다음 그 길이를 반환한다 아직은 어색한 Set를 활용한 방법도 있다 Set는 유일한 값들만 모은 형태 즉 겹치는 값이 없다는 것을 이용해 function ..

짝수는 싫어요 - Array.from() 활용

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. function solution(n) { var answer = []; for(let i = 1; i i + 1) .filter(i => i % 2 !== 0) 보기 쉽게 한 줄씩 쓴 부분도 좋았고 Array.form()을 문자열을 하나씩 배열로 만들 때만 사용을 했는데 저렇게 length를 가진 객체로 원하는 길이의 배열을 만듬과 동시에 인덱스만을 받아서 바로 그 배열을 채울 수 있는 방식으로 사용할 수 있는 것이 인상적이었다. function solution(n) { return Array(n).fill(1).map((v,i)=>v+i).filter(v=>v%2===1)..

짝수 홀수 개수, 최댓값 만들기 (1) - 다르게 생각하기

1. 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. function solution(num_list) { var answer = []; let a = num_list.filter( num => num % 2 === 0 ).length let b = num_list.filter( num => num % 2 !== 0 ).length answer.push (a) answer.push (b) return answer; } 짝수와 홀수를 각각 담은 배열을 .filter()로 만들어 이것의 길이를 배열에 각각 담는 방식으로 했다 물론 문제는 없었다 function solution(num_lis..

최빈값 구하기 (객체 혹은 Map 활용)

최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 이건 모르겠어서 다른 사람들의 풀이를 보고 해석하는 방향으로 잡았다 1. 객체 활용 function solution(array) { // array의 길이가 1일 경우 갯수가 하나이기에 // 그 값을 반환해준다. if (array.length === 1) return array[0]; const obj = {}; const answer = []; // array를 forEach() 반복문을 돌려 // obj에 값이 없으면 값을 만들고 1을 넣어주고 // obj에 값이 있으면 기존 값 ..

1.

정수 표현 : Math.trunc() : 소수점을 날리고 정수만 가져온다 ~~(틸트 연산자) : 소수점을 날리고 정수만 가져온다 ( 이건 내용이 복잡해서 일단은 ~~를 이렇게 사용할 수 있구나만 알자) Math.floor() : 값을 내림으로 정수로 바꾼다 (trunc보다 floor를 많이 사용하던데 성능적인 부분이 있는건지는 모르겠다) parseInt() : 함수는 문자열 인자를 파싱하여 특정 진수(수의 진법 체계에서 기준이 되는 값)의 정수를 반환합니다. 파싱 : 문자열데이터를 분석하고 분해하여 목적한 패턴에 맞게 문자열의 구조를 결정 parseInt() 첫 번째 인수를 두 번째 인수의 진법으로 표현 두번 째 인수는 생략가능 일반적으로는 10진수로 나오지만 0과 대/소문자 X로 시작되는 경우 16진수..

문자열 안에 문자열

문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요 const solution = (str1, str2) => str1.indexOf(str2) === -1 ? 2 : 1 // indexOf() 일치하는 값의 인덱스 반환 일치하는 값이 없다면 -1 반환 이건 별 내용은 없다 다른 사람의 풀이를 보지 않고 혼자서 삼항연산자와 화살표 함수로 깔끔하게 처리했다 그래도 발전하고 있는 것 같아서 뿌듯하다