JavaScript 72

[javaScript/공부] 데이터 타입(Data Type)

데이터타입(Data Type) 알아보기         원시 타입 01 숫자형(Number)정수와 소수를 모두 포함2^53-1보다 큰 수는 Bigint  02 문자형(String)"string"'string'`string`다 같지만 백틱(`)의 경우• 줄바꿈이 가능하다• ${}로 다른 변수 사용 가능  03 불리언(Boolean)조건을 표현하는 자료구조truefalse  04 Null널.. 이라고 읽는다..값이 없는 것 (빈 공간)undefined (공간 자체가 없음)          참조 타입 별도의 공간에 원본 데이터를 저장,변수에 데이터의 주소를 저장.주소가 메인이기 때문에let a = [1];let b = [1];a === b //false 같은 값이 들어있는 배열이어도 다른 배열, 혹은 객체이다...

WEB/javaScript 2025.01.06

[javaScript/공부] 변수 알아보기

변수 알아보기         변수(Variable 데이터를 저장하고 참조할 수 있는 이름과 주소를 가진 저장소변수 선언 (이 저장소 쓸게) //var a;할당 (이 저장소에 이거 담을게) //a = 1;  01 var**최대한 사용 지양하기**함수 스코프를 가지며, 재선언과 재할당이 가능하다.var x = 10;var x = 20; //재선언 가능x = 30; //재할당 가능TDZ (temporarily dead zone)let x; 이렇게 호이스팅 안되고 에러 뜸but var x; 는 그대로 undefined 로 뜸  02 let재선언 불가능재할당 가능let a = 0;let a = 2; //재선언 불가능a = 1; //재할당 가능  03 const재선언 불가능재할당 불가능const a = 0;con..

WEB/javaScript 2025.01.06

[코딩테스트/javaScript]이상한 문자 만들기

function solution(s) { let answer = []; for (let i=0; i오류가 떠서 콘솔창으로 확인해봤더니, 빈공간인 경우 .toUpperCase()가 적용이 안되고 에러가 뜬다..반복문으로 어떻게든 해보려고 몇시간을 끙끙대다 결국 포기... 그리고 알게된 사실...split('')은 글자별로, .split(' ')은 단어별로 나눠준다. (따옴표 안 띄어쓰기) 그리고 .map(요소) / .map(요소,인덱스)로 변수를 정해 함수를 만들면 됨.map은 배열 안 요소를 하나씩 가져와 순회하며 함수를 적용하는 메소드다. 다시 쓰면서 분명 맞는 거 같은데 자꾸 틀리길래... 결국 챗지피티한테 물어봤는데나는 삼항 연산자는 return을 내포하고있다고 착각했다. 그래서 ..

[javaScript/공부] 화살표 함수, this, 호이스팅을 알아보자

화살표 함수와  this, 그리고 호이스팅 알아보기         화살표 함수? function () {}() => {}위가 전통적 함수 표기법, 아래가 화살표 함수다.화살표 함수가 훨씬 간결해서 저것만 쓰면 안되나? 싶어서 찾아보니,동작 방식에서 차이가 있었다.  01 this 바인딩의 차이this 란, 함수나 메서드 내에서 객체를 참조하는 키워드다. (다음 목차에서 더 설명)function에서는 this가 동적으로 결정된다. 즉 아래와 같이 사용이 가능하다.const obj = { value: 10, example: function () { console.log(this.value); //this는 obj를 가리킴 -> 출력: 10 },};하지만 화살표 함수에서는 상위 컨텍스트의 this를 상..

WEB/javaScript 2025.01.02

[코딩테스트/javaScript] 3진법 뒤집기

어떻게든 패턴 찾고싶어서 공책 펴놓고 이것저것 다 써봤다.............그렇게 찾은 패턴십진수에서 3으로 계속 나누면서 생기는 나머지들 + 마지막으로 나눠지는 수를 이으면 삼진법 뒤집은 모양임for (let i=0; n>=3; i++) { arr.push(n%3) n = Math.floor(n /= 3); } arr.push(n);우선 삼진수로는 만들었다. 그런데 다시 십진수로 만드는 게 또 난관이다.우선 내가 세운 식은,arr[(arr.length-1)-j] * (3 ** j)인데,//예시인 125의 3진수를 뒤집으면 22111이다.let index = arr.length-1; //이라고 가정했을 때//자릿수 * 3의 x제곱arr[index-0] * (3**0..

[코딩테스트/javaScript] 최대공약수와 최소공배수

function solution(n, m) { let answer = []; // 최대공약수 for (let i=n; i우선 최대공약수는 n,m 중 작은 수만큼만 확인하면 돼서, i의 크기를 둘중 아무거나로 지정했다.n과 m의 차가 어마무시하다면 시간이 오래 걸리기 때문에 비교까지 해준 다음에 더 작은 수로 정확히 넣었을듯그리고 최대를 찾는 거기 때문에 하나씩 빼주는 형태로 반복했고,n과 m의 공통된 약수일 때 break를 걸어 가장 큰 약수 하나만 추출하도록 했다. 최소공배수도 마찬가지.최소니까 1부터 시작했고, 최대치로 커봤자 n*m이니까 조건을 그렇게 걸었다.if 조건문에 부합하면 break 걸어서 제일 작은 공배수 추출

[코딩테스트/javaScript] 직사각형 별 찍기

function solution(n,m) { let row = '*'.repeat(n) + '\n'; let col = row.repeat(m).trim(); return col;}기본 틀로 처음 보는 게 너무 많이 나와있길래 기본 함수 틀로 변경해서 풀어보았다.그런데 계속 오류가 나고..... 틀이 있는 이유가 있었다.....process.stdin.setEncoding('utf8');process.stdin.on('data', data => { //입력받은 숫자를 'data에 받는다' const n = data.split(" "); // 받은 데이터를 배열로 바꾼다 const a = Number(n[0]), b = Number(n[1]); // a가 문제의 n, b가..