본문 바로가기

JavaScript14

음수의 나머지 계산법 음수를 모듈러 연산자 % 로 연산 할때는 음수에 나눌 숫자의 배수를 더해서 양수로 만들어 줘야한다 더해도 나눌 숫자의 배수를 더한거니 나머지의 값은 같기 때문에 걱정 안 할 필요는 없다 let ans = -3 mod 8; 위의 경우 나눌 수가 -3으로 음수이므로 나누는 숫자인 8의 배수를 아무거나 더해서 (1배수든... 2배수든...) 양수로 만들어 주자. 8의 1배수 8을 더해보자 let ans = (-3 + 8) mod 8; let ans = 5 mod 8; console.log(ans); // 5 위와 같은 방법으로 음수도 %모듈러 연산자로 연산 가능하다 모듈러의 음수를 해결해도 문제가 에러가 난다면, 큰 수를 처리하기 위한 BigInt 등의 사용도 고려해보자 2022. 9. 26.
JSON 이란? IDE 를 사용하다 JSON 파일을 여러번 마주하였지만 JSON 이 무엇인지 몰랐었는데 기회가 되어 정리해본다 JSON 이란 JavaScript Object Notation 즉, 자바스크립트 객체 표기법이다 서버와 클라이언트 간의 데이터 교환 시 사용하는 표기법이며 자바스크립트 객체 Javascript Object 와는 다르다 JSON 은 객체 표기법이지 객체가 아니다! JSON은 string 타입으로서 문자열이고 객체가 아니다 객체를 JSON 형식으로 만들기 위해서 JSON.stringify() 를 사용해서 JSON 형식의 문자열로 바꾸거나 JSON 형식의 문자열을 객체로 만들기 위해서 JSON.parse() 를 사용한다 객체가 JSON.stringify()로 JSON 문자열 형식으로 type 이 바뀌.. 2022. 9. 1.
모듈 사용 시 import 와 require 의 차이 코드의 크기가 커지면 코드를 기능별로 파일로 나누어 저장하고 불러와서 쓰게 되는데 이렇게 나누어진 파일들을 모듈 module 이라고 하며 나누는 것을 모듈화한다고 한다 모듈을 불러와서 사용할 때 Node.js (Common JS) 에서는 require 를 사용하고 const name = require('./namelist.js') ES6 (최신? 자바스크립트 표준 규격) 에서는 import 를 사용한다 import name from './namelist.js' 모듈로 설정할 파일을 만들고 데이터를 모듈로서 동작하도록 만들기 위해서 Node.js 의 경우엔 데이터를 module.exports 객체에 넣어주는데 ES6의 경우와 비교하면 모듈 파일 내의 데이터를 변수 별로 하나 하나 분리해서 내보내고자 할 때.. 2022. 9. 1.
자바스크립트 에서 set 으로 중복 제거가 안될때 inp.shift(); let inparr = []; inp.forEach((el) => { let temp = []; for (ch of el) { temp.push(ch); temp.sort(); temp.join(""); inparr.push(temp); } }); console.log(inparr); let set = new Set(inparr); let set = new Set([...inparr].map((x) => JSON.stringify(x))); console.log(set); 자바스크립트를 이용해 코딩테스트를 풀던 도중 중복을 제거하기 위해서 Set 객체를 사용하던 중에 중복 제거가 안됐다 // inparr.push(temp)를 for밖으로 안뺀 바보짓이 원흉... 입력 예시중 하나로.. 2022. 8. 30.