ALL

    [JavaScript] 데이터 타입

    자바스크립트의 데이터 타입은 8가지가 있고, 크게 원시타입과 객체타입으로 분류할 수 있다. 원시 타입 숫자 타입 : 정수, 실수 구분 없이 하나의 숫자 타입만 존재한다. 자바스크립트의 숫자는 배정밀도 64비트 부동소수점 형식의 2진수 (실수)로 처리된다. 문자열 타입 : 자바스크립트의 문자열은 원시 타입 즉 변경 불가능한 값이다. ES6에서 도입된 템플릿 리터럴은 이스케이프 시퀀스(\n 등) 을 사용하지 않고도 줄바꿈이 허용된다. 불리언 타입 : true & false undefined 타입 : 값을 할당하지 않은 변수가 가지는 값 null 타입 : 값이 없음을 의도적으로 명시할 때 사용하는 값 변수에 null을 의도적으로 할당하는 것은 이전에 변수에 할당되어 있던 값을 더 이상 참조하지 않겠다는 의미이..

    [Day 1] 코드스테이츠 첫날!

    코드스테이츠에 합류하다 오늘은 코드스테이츠 FE 부트캠프 40기 첫날이었다. 현재 소감은.. '지원하길 잘했다' 정도로 말할 수 있을 것 같다. 나는 예비순번이었는데, 코스 시작 하루 전 추가 합격이 되었다. 사실 추가합격이 될 것을 전혀 예상하지 못했었고, 코드스테이츠에서 예비 합격자에게 첫 1주일은 체험할 수 있는 체험코스를 제공하기 때문에, 부트캠프란 어떤 곳인지 경험이나 해보자! 라는 생각으로 신청을 하고 기다리고 있었다. 부트캠프를 지원한 제일 큰 동기는 함께 공부할 동료들이 필요해서였다. 퇴사를 하고 2개월동안 혼자 공부를 해왔는데, 문득 내가 잘 하고 있는건지 의문이 들기 시작했다. 퇴사 전까지 포함하면 나름 10개월은 이 분야에 관심을 두었는데, 왜 나는 이것밖에 못하지? 이렇게 하는게 맞..

    [알고리즘 JS]프로그래머스 Lv.1 신고 결과 받기

    문제 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 // 입력값 const id_list = ['muzi', 'frodo', 'apeach', 'neo']; const report = [ 'muzi frodo', 'apeach frodo', 'frodo neo', 'muzi neo', 'apeach muzi', ]; const k = 2; // 풀이 function solution(id_list..

    [모던 자바스크립트 딥다이브] 17. 생성자 함수

    모던 자바스크립트 Deep Dive 17장 내용을 발췌, 요약한 글 입니다. 17.1 Object 생성자 함수 생성자 함수 : new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수. 인스턴스 : 생성자 함수에 의해 생성된 객체. 자바스크립트는 Object생성자 함수 이외에도 String, Number, Boolean, Function, Array, Date, RegExp, Promise등의 빌트인 생성자 함수 제공. 특별한 이유가 없는 이상 객체 리터럴을 사용하는게 더 간편하다. // 빈 객체 생성 const person = new Object(); // 프로퍼티, 메서드 추가 person.name = 'Park'; person.sayHello = function() { return `Hi, $..

    [알고리즘]백준 2581번: 소수 W_node.js

    문제 https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [m, n] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g) .map((v) => +v); const isPrime = function (x) {..

    [알고리즘]백준 1978번: 소수 찾기 W_node.js

    문제 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [t, testcases] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g); const isPrime = function (n) { // n이 1이면 소수가 아니므로 false if (n === 1 || n < 0) return false; // 2부터 시작해 제곱근까지 나누어 떨어지는 수가 있으면 소수가 아니므로 false for (let i = 2; i +v); let cnt = 0; for (let x of arr) { if (isPrime(x..

    [알고리즘]백준 10757번: 큰 수 A+B W_node.js

    문제 https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [a, b] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .split(/\s/g); const solution = function (a, b) { return (BigInt(a) + BigInt(b)).toString(); }; console.log(solution(a, b)); 자바스크립트 내장객체 Big..

    [알고리즘]백준 2839번: 설탕 배달 W_node.js

    문제 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [input] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g) .map((v) => +v); const solution = function (n) { let x = 1; let y = 1; while (5 * y..

    [알고리즘]백준 10250번: ACM 호텔 W_node.js

    문제 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 풀이 const readFileSyncAddress = '/dev/stdin'; const fs = require('fs'); let [T, ...testCases] = fs .readFileSync(readFileSyncAddress) .toString() .trim() .replaceAll(/\r/g, '') .split(/\n/g); T = Number(T); const solution = function (T, testCases) { fo..

    [JavaScript] HTML, CSS, JS로 만든 웹계산기

    [JavaScript] HTML, CSS, JS로 만든 웹계산기

    I am a Calculator hyejj19.github.io 무엇을 만들어볼까 하다가, 자주 쓰는 계산기를 만들어 보았다. 다른 글들을 참고해보니 eval() 함수를 사용해 문자열 자체를 코드로 변환하여 연산하는 방식도 있었는데, 외부에서 입력된 코드를 그대로 실행시킨다는 점이 자칫 치명적인 단점이 될 수 있다는 우려가 있다. 따라서 eval()을 사용하지 않고 입력값을 변환하여 내부적으로 계산하는 방식으로 만들게 되었다. 참고로 ? { key.addEventListener('click', (e) => { let num = e.target.textContent.trim(); setNumber(num); }); }); // 연산자 클릭이벤트 감지 keyFunctions.forEach((key) => k..