본문 바로가기

반응형

전체 글

(124)
[항해99]WIL(2주차)_ECMAScript, ES5~ES6 1. ECMAScript란 크로스 부라우징 이슈를 해결하기 위한 JS의 표준안을 ECMAScript라 한다. 넷스케이프는 Javascript를, 마이크로소프트는 JScript를 개발했는데 두 언어는 서로 호환성 문제가 있었다. 이를 해결하기 위해 자바스크립트를 ECMA(European Computer Manufacturers Association)라는 비영리 기구를 통해 표준화한다. 2. ES5, ES6의 차이 Primivie Type의 추가 버전 ES5 ES6 발표 2009년 2015 데이터 타입 string, number, boolean, null, and undefined. 원시타입에 symbol 추가 변수의 선언 var. let(변수) const(상수) Classes 추가 새로운 키워드로 Clas..
[항해99]TIL_알고리즘5 문제1 : 하샤드 수 1.1 풀이 - 정수 x의 자릿수 합을 만들어야한다. 이를 위해 String()과 split()을 활용 x를 배열로 만들어 나눈다. - reduce()를 활용, num에 누산한다. - 삼항연산자를 활용, 정수 x와 누산한 값num을 나눴을때 ? 떨어지지 않으면 false : 나눠 떨어지면 true function solution(x) { let arr = String(x).split(''); let num = arr.reduce((a, b) => a + parseInt(b), 0); return x%num ? false : true } 1.2 반복문 활용한 풀이 function Harshad(n){ var result ; var sum = 0; var arr = String(n).s..
[항해99]TIL_알고리즘4 문제1 : 정수 제곱근 판별 1.1 풀이(오답) - 제곱근을 구하는 Math.sqrt()를 이용 num을 초기화 - 양의 제곱근 중 가장 작은 정수가 2라는 점을 이용, - num이 2와 같거나 크다면 Math.pow를 이용 num+1에서 제곱하였으나 아래와 같은 오답이 존재 1) num으로 정수가 아닌 값이 출력되는 경우 (ex : 3.123412412...) 2) solution(1)을 실행하는 경우 function solution(n) { let num = Math.sqrt(n); return num/1 >= 2 ? Math.pow(num+1, 2) : -1; } 1.2 풀이(수정) - num을 1로 나눈 나머지가 0인지 확인하여 정수 여부를 체크 function solution(n) { let n..
[항해99]TIL_알고리즘3 문제1 : 문자열 내 p와 y의 개수 1.1 풀이 - 대문자와 소문자가 섞여있기 때문에 toUpperCase()를 사용, 모두 대문자로 바꾼다. - split()을 통해 P 기준으로 문자열을 분해하고 그 길이를 계산한다. - split()을 통해 Y 기준으로 문자열을 분해하고 그 길이를 계산한다. - 삼항연산자를 통해 참 거짓을 출력한다. function solution(s){ return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length ? true : false } 1.2 다른 방법 function numPY(s){ var result = true; s = s.toUpperCase(); var num = 0; for(var..
[항해99]TIL_알고리즘2 💻 알고리즘 2일차 JavsScript 1번 문제 : 핸드폰 번호 가리기 1.1 풀이 : repeat(), slice() 메서드 사용 function solution(phone_number) { let result = "*".repeat(phone_number.length -4) + phone_number.slice(-4); return result; } // (파라미터의 길이 -4만큼 문자 "*"을 입력) + (파라미터의 마지막 4자리를 분리) = *******1234 1.2 정규식을 이용한 풀이 (코드는 최대한 간결하게 짜는게 좋다지만.. 오히려 정규식이 알아보기 어려울지도?) function solution(s) { return s.replace(/\d(?=\d{4})/g, "*"); } 2번 문제..
[항해99]TIL_알고리즘1 1. 2주차 학습 내용 : 주특기 언어를 활용한 알고리즘 학습 항해에서 큐레이션한 28개의 알고리즘 문제를 학습하고 팀원에게 풀이과정을 설명한다. 2. 문제1 : 직사각형 별찍기 가. 문제 설명 나. 문제 풀이 - repeat() 메소드를 사용해 n번 만큼 문자열을 반복하여 붙인뒤 반환한다. process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { // 터미널에서 데이터를 받아온다 const n = data.split(" "); // 데이터를 n이라는 상수로 선언 후 " "을 기준으로 배열을 나눈다. const a = Number(n[0]), b = Number(n[1]); // 첫 번째 배열은 a, 두 번째 배열은 b const row..
JWT Json Web Token 약자로 모바일이나 웹의 사용자 인증을 위해 사용하는 암호화된 토큰을 의미합니다. JWT 정보를 request에 담아 사용자응 정보 열람, 수정 등 개인적인 작업 등을 수행할 수 있게한다 토큰 기반 인증 시스템은 유저의 정보를 서버나 세션에 담지 않기 때문에 확장성이 있다. 암호화가 아닌 인코딩만 하기때문에 취약할 수 있다.
[항해99]Week 1_WIL 1. 부트캠프 Week1_후기 가. 먼저 TIL없이 WIL를 바로 작성하는 점을 반성한다. 나. 다음주 부터 3주간 알고리즘, JS, 주특기 수업이 시작된다. 99일의 기간 중 기본기를 다질 수 있는 마지막 기간인 만큼 TIL을 확실 정리하겠다. 다. 부트캠프에는 SI업체 경력이 있는 참가자 부터 국비교육을 수료한 참가자 까지 내 기준에선 상당한 실력자들이 많다. 고수 참가자들의 프로젝트를 참고하고 멘토링을 참관하면서 나와는 고민하는 깊이부터 다르다는 것을 느낀다. 시작부터 기가 죽는 동시에 자극과 동기부여의 대상이 되기도 한다. 잘 따라갈 수 있도록 이악물고 하자. 라. 1주차 미니 프로젝트로 [채식의 광장]을 만들었다. 깃헙 주소와 시연 영상을 첨부한다. 💻깃헙 : https://github.com/..

반응형