Object.assign vs Spread Syntax (...)
·
Stack/JavaScript
Object.assign 과 Spread Syntax (...) 둘 다 javascript에서 객체를 복사하거나 병합하는 방법이다.나도 일반적으로 Spread 문법을 주로 사용하고 Object.assign에 대해서는 무지했는데, 이에 대해 알아보기 위해 글을 작성해본다.Object.assign 사용예시const o1 = { a: 1 };const o2 = { b: 2 };const o3 = { c: 3 };const obj = Object.assign(o1, o2, o3);console.log(obj); // { a: 1, b: 2, c: 3 }console.log(o1); // { a: 1, b: 2, c: 3 }, 목표 객체 자체가 변경됨.console.log(o2); // { b: 2 };conso..
오픈채팅방 (42888 / 프로그래머스 / JavaScript)
·
알고리즘 문제풀이
문제 풀이과정 최종적으로 방을 개설한 사람이 보기 위해, uid 에따른 닉네임이 저장되어 있어야하는 배열을 생성하였다. record를 문자열별로 나눴는데, //record[i][0] => 입장, 퇴장, 변경 //record[i][1] => 유저ID //record[i][2] => 닉네임 다음과 같이 정리된다. answer 결과 배열부분에 uid 와 enter leave에 따른 메세지를 같이 저장하였다. 마지막에 answer에 있는 uid를 닉네임이 저장되어있는 곳과 매칭시켜 결과를 도출하였다. 풀이코드 function solution(record) { let users = []; // 유저의 닉네임이 저장되어있는곳 record = record.map((e) => e.split(' ')); ..
124나라의 숫자 ( 12899 / 프로그래머스 / JavaScript)
·
알고리즘 문제풀이
문제 풀이과정 숫자가 1, 2, 4 순서로 반복되며 값이 반복되는 형식이다. 값을 3으로 나눴을때 몫과 나머지를 구해서 answer에 나머지를 추가해주는 형식으로 답을 구했다. 다만 3으로 나눳을때 값이 1, 2, 0 순으로 된다 나머지 0일 경우 몫이 1개가 생기므로 새로운 값이 추가되는 현상이 발생하여 주어진 값을 -1 하여 나눳을때 값이 0,1,2 순으로 되게 만들어서 답을 구하였다. 기본 풀이코드 function solution(n) { let answer = ''; function oneTwoFour(n){ n = n - 1 let num = parseInt(n / 3); // 몫 let sub = n % 3; // 나머지 if(sub == 0){ answer = '1&#3..
자바스크립트 javascript 2진수 8진수 16진수 변환
·
Stack/JavaScript
자바스크립트에서 쉽게 진수 변환을 하는법 toString 과 parseInt를 이용하면 된다. 예시 let num = 122; console.log(num.toString(2)); //1111010 let binNum = "1111010" console.log(parseInt(binNum,2)); //122 toString() Number.prototype.toString() 에 해당하는 메서드이다. 특정한 Number 객체를 문자열로 반환 num.toString(radix) 매개변수 radix radix 는 2 ~ 36 사이의 정수가 들어간다. 2 ~ 36 사이의 정수가들어가지 않으면 RangeError가 발생한다. radix 값이 지정되지 않으면 default 값으로 10이 들어가게 된다. 예시 le..