전체 글 68

[코딩테스트] 두 정수 사이의 합

문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어, a = 3, b = 5인 경우, 3 + 4 + 5 = 12 이므로 12를 리턴합니다. 해결 const solution = (a, b) => { const arr = [a, b].sort((a, b) => a - b) return Array .from({length: Math.abs(a-b)+1}, (_, i) => i + arr[0]) .reduce((a, b) => a + b) } 배열을 만들고 sort 메서드를 통해 낮은 수를 골랐다. 그리고 Array 로 a와 b의 뺀 값에서 음수를 제외하고 + 1을 해주면 두 사의의 길이가 나온다. 그곳에 아까 sort 메서드로 ..

코딩테스트 2023.12.04

[코딩테스트] 콜라츠 추측

문제 1937년 collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 => 3 => 10 => 5 => 16 => 8 => 4 => 2 => 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 -1을 반환해주세요. 해결 c..

코딩테스트 2023.11.30

내일배움캠프 뉴스피드 프로젝트 KPT 회고

Keep 현재 만족하고 있고, 계속 이어갔으면 하는 부분 1. 와이어프레임을 미리 상세하게 디자인하고 프로젝트를 진행하는 것 Problem 불편하게 느끼며 개선이 필요하다고 생각되는 부분 1. 페이지 디자인 벤치마킹 부족 2. ERD 설계나 업무 흐름에 맞는 분담을 하는 것 Try 문제에 대한 해결책 1. 핀터레스트나 드리블 등에서 프로젝트 기획과 맞는 디자인을 적용해봐야겠다. 2. 초반에 업무를 상세하게 나열하여 흐름에 맞게 팀원들이 분담하는 것, 기획 단계에서 데이터 설계를 확실히 해야겠다.

개발일지 2023.11.27

Google Search Console '적절한 표준태그가 포함된 대체 페이지' 해결

구글 서치콘솔에서 '적절한 표준 태그가 포함된 대체 페이지' 문제로 색인이 생성되지 않았다고 한다. 색인 오류가 있으면 구글에 노출이 되지 않으므로 바로바로 해결해야한다. 만약 URL 검사를 했는데 이렇게 'URL이 등록되어 있지 않음' 이 나온다면 티스토리 HTML 편집기 를 확인할 필요가 있다. HTML 편집기는 티스토리 블로그 관리 메뉴에 들어가면 스킨편집을 누르고 오른쪽 상단에 HTML 편집을 누르면 확인할 수 있다. 복잡해보이겠지만 해야할 건 간단하다. 위 head 태그 안의 meta viewport를 찾아서 minimum-scale=1.0 maximum-scale=1.0 위 두 코드가 있다면 지워주면 된다.

Blog 2023.11.26

[코딩테스트] 하샤드 수

문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9 이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 해결 function solution (x) { const answer = (x+'') .split('') .map((e) => e*1) .reduce((_, e) => _ + e); return x % answer === 0 ? true : false; } 우선 x+''으로 문자 형변환을 해준 뒤 split을 통해 배열로 만들었다. 그러고 map을 통해 *1을 해서 숫자 형변환을 하고 reduce로 배열의 전체 합을 구했다..

코딩테스트 2023.11.24

[React] 리액트에서 크롤링하기

브라우저에서 fetch 나 axios를 통해 다른 웹페이지의 html 데이터를 가지고오려고 하면 CROS 오류가 난다. SOP 정책에 의해 타 브라우저에서 데이터 접근을 막는 것이다. 따라서 proxy 우회라는 것을 통해 브라우저 => 브라우저가 아닌 서버에서 온 것처럼 보이게 만들 수 있다. 방법은 너무 간단하다. 딱 2가지만 기억하면 된다. https://cors-anywhere.herokuapp.com/corsdemo 1. 여기에 접속해서 아래 버튼을 누르고 https://cors-anywhere.herokuapp.com/ 2. 이걸 url 앞에 붙여주면 된다. axios.get(`https://cors-anywhere.herokuapp.com/mysite.com`) 이렇게 붙여주게 되면 참 감사하..

React 2023.11.22

[React] 리액트 Axios 사용법

axios란? 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리 프론트 & 백엔드 간의 원활한 통신을 위해 사용 자바스크립트에는 fetch API가 있지만, 프레임워크에서 ajax를 구현할 땐 axios를 쓰는 편이다. 특징 운영 환경에 따라 브라우저의 XMLHttpRequest 객체 또는 Node.js의 http api 사용 Promise API 사용 요청과 응답 데이터의 변형 HTTP 요청 취소 HTTP 요청과 응답을 JSON 형태로 자동 변경 axios 와 fetch의 차이점 구분 axios fetch 1 써드파티 라이브러리 내부 API 2 XSRF 보호 X 3 data 속성을 사용 body 속성을 사용 4 object 포함 문자열 변환 5 JSON 자..

React 2023.11.21