자바스크립트 Chapter 7. 1차원 배열
·
개인공부/코드트리 JS
Lesson 1. 한 줄에 여러 개 입력공백을 두고 숫자가 주어지는 경우 fs.readFileSync(0).toString().trim().split(" ")으로 입력을 받는다다음 코드를 수행했을 때는 각 원소의 type이 String인 것을 알 수 있다 따라서 10개의 입력을 받고 그 원소의 합을 구하려면다음과 같은 코드를 사용해야 한다 const fs = require("fs");let arr = fs.readFileSync(0).toString().trim().split(" ")let sumVal = 0;for (let i = 0; i 함수 만드는 법- 1번 방법function add(a, b) { return a + b;}console.log(add(1, 2));>> 3 2번 방법- 화살표 함..
JS 코딩 테스트 기초, 별 찍기 마스터가 되려면
·
개인공부/코테 공부
코딩 테스트의 기초 중에서 손꼽히는 어려움은 별 찍기라고 생각한다패턴 파악부터 패턴 구현까지 초보자에게 쉬운 부분이 없기 때문이다 누구나 많은 어려움을 겪는 부분이고,C언어로 시작했다면 포인터 이전에 가장 많은 포기가 나오는 부분이기도 하다 오늘은 별 찍기를 쉽게 하는 방법을 알아보기 위해직접 공부하는 과정을 기록해보도록 하겠다 Lesson 1. 직각삼각형 출력하기* * ** **n을 값으로 받아n=3일 때 위와 같이 출력하는 별 찍기를 해보자해설과 정답은 직접 푼 뒤 확인할 수 있도록 접은 글 속에 넣을 예정이지만,첫 번째 문제는 해설을 공개하도록 하겠다. 해설: 1. 우선 n개의 줄이 필요하다n개의 줄을 찍기위해서는 n번만큼의 반복문이 필요하다따라서 별 찍기의 시작은 for (let i=0; i로 ..
자바스크립트 Chapter 6. 다중반복문
·
개인공부/코드트리 JS
Lesson 1. 사각형 별 출력반복되는 구조를 파악하고 묶으면 다중 for문을 만들 수 있다*********코드 출력 방법 가로로 3번 반복되는 별이 세로로 3번씩 반복되고 있는 걸 발견할 수 있다 n을 입력했을 때 n*n의 사이즈로 별이 출력되는 걸 만들어보자1. 먼저 가로줄에서 n개의 별이 찍혀야하고,2. 이것이 세로로 n번 반복되어야 한다. 따라서 다음과 같은 코드를 사용할 수 있다const fs = require("fs");let input = fs.readFileSync(0).toString().trim();let n = Number(input);result = "";for (let i=0; ii j k와 같은 순서로 for문의 변수를 이용하는 경우가 많은데특히 i와 j는 생김새가 같아 문제를..
자바스크립트 Chapter 5. 단순 반복
·
개인공부/코드트리 JS
Lesson 1. for문 a → b 1씩 증가비슷한 내용을 반복한다면 일일히 쓰는 것이 번거로울 것이다이럴 때는 for문을 사용해 반복을 쉽게 할 수 있다반복문 for 문의 형태는 아래와 같다 for( 초기화식 ; 조건식 ; 증감식 ) { 반복할 코드}초기화식에서는 for loop의 초기조건을 설정할 수 있고,이후 조건식에 해당한다면 for loop를 진행한다한 번 진행했다면 증감식에 의해 반복횟수를 셀 수 있다for (let i = a; i 보통은 초기조건에서 i j k라는 변수를 사용한다여기서 i ++는 i+=1과 같은데 ++i --i i-- 와도 같은 형태도 쓸 수 있다앞에 붙은 것은 전위 연산자, 뒤에 붙은 것은 후위 연산자라고 부르는데후위 연산자인 경우 코드실행이 이루어지고 이후 ..
자바스크립트 Chapter 4. 조건문
·
개인공부/코드트리 JS
Lesson 1. 조건문조건문의 대표적인 예시는 if다if 의 범위를 정의하기 위해 JS에서는 중괄호{ }를 사용한다 if (조건) { 여기에 조건이 참일 경우에만 수행되는 코드 작성} 조건 안에는 다양한 기호를 사용할 수 있는데 주목할 부분은 == 와 ===이다==은 값만 같아도 true가 되기 때문에 1 == '1' 이 가능하다따라서 type까지 동일해야하는 ===의 사용을 권장한다 오늘한 실수도 접은글에 넣어놨다더보기하던대로 했는데 계속 NaN이 떴다문제는 - 기호만 가져온 것이었다🔍 핵심 힌트let input = fs.readFileSync(0).toString().trim();let N = Number(input[0]);여기서 input[0]은 첫 번째 문자만 가져와요. 예를 들어:입력이..
자바스크립트 Chapter 3. 연산자
·
개인공부/코드트리 JS
Lesson 1. 사칙연산let a = 9, b = 4;console.log(a + b, a * b, a - b, parseInt(a / b), a % b, a / b, a ** b)만약 5를 2로 나누는 경우 처럼 나누어 떨어지지 않는 경우에 나눗셈을 진행하여 그 결과를 실수 값으로 받고 싶은 경우라면 / 연산을 이용 (사칙연산 계산시 type은 더 큰 범위를 따라가게 되어있기 때문에 (정수 정수와 실수가 만나면 계산결과의 type이 실수가 된다) a = a+5를 a+=5로 바꿔서 쓸 수도 있다ex)a+=5a-=5a%=5a*=5 Lesson 2. 합과 평균평균을 구할 때와 같이 /나 *을 사용할 때는 우선순위를 고려하자ex ) a + b / 2 (X)ex ) ( a + b ) / 2 (O)
코어 자바스크립트 헷갈리는 부분 정리
·
교재/코어 자바스크립트
1. environment 용어 정리아주 자연스럽고 중요한 고민이에요.처음에 이 개념은 정말 추상적으로 느껴지기 쉬워요.지금 힘들다고 느끼는 이유는 용어들이 많고,그게 언제, 어디서, 어떻게 연결되는지가 감이 안 잡히기 때문이에요.제가 비유와 쉬운 예시로, 꼭 처음부터 차근차근 설명드릴게요.🔍 한 문장씩, **“왜 이런 말이 나오는지”**부터 따라가 보죠.✳️ 용어 정리부터!먼저 헷갈리는 용어 세 개만 먼저 정리할게요.용어 쉬운 말로 바꾸면 설명Lexical Environment“변수 보관 창고”지금 컨텍스트에서 쓸 수 있는 변수들을 저장해둔 공간Environment Record“진짜 변수들이 담긴 상자”변수명이랑 실제 값들이 들어 있는 객체outerEnvironmentReference“바깥 참조 링크..
자바스크립트 Chapter 2. 입출력
·
개인공부/코드트리 JS
Lesson 1. 정수 입력 자바스크립트는 readFileSync() 함수를 사용하여 파일에서 데이터를 읽어온다이를 사용하기 위해서는 맨 위에 const fs = require("fs");를 적어야한다 fs.readFileSync(0)함수로 입력을 받을 수 있게 되지만... ... >> Hello World 우리가 알아볼 수 없는 형태로 입력받아지기 때문에toString() 함수를 사용해서 문자열 type으로 변경해야한다 const fs = require("fs");let input = fs.readFileSync(0).toString();console.log(`Input is ${input}`); 입력이 문자열이므로 숫자를 하나 입력받아 1로 더하려고+1을 하면...>> 3 31이라는 놀라운 결과를 얻..
코어 자바스크립트 | 챕터 7: 클래스
·
교재/코어 자바스크립트
[클래스] 음식 - 과일 - 귤류(감귤,오렌지,자몽,레몬 등) super-superclass / superclass / subclass 어떤 클래스의 속성을 지니는 실존하는 개체를 인스턴스라고 한다 한 인스턴스는 하나의 클래스를 기반으로 바탕으로 만들어진다. 어떤 인스턴스가 다양한 클래스에 속할 수는 있지만 이 클래스들은 모두 인스턴스 입장에서 '직계 존속'이다 인스턴스를 생성할 때 호출할 수 있는 클래스는 하나일 수 밖에 없기 때문이다 더보기🌱 문장 해석부터 차근차근❓ 원문"한 인스턴스는 하나의 클래스를 기반으로 바탕으로 만들어진다. 어떤 인스턴스가 다양한 클래스에 속할 수는 있지만 이 클래스들은 모두 인스턴스 입장에서 '직계 존속'이다. 인스턴스를 생성할 때 호출할 수 있는 클래스는 하나일 수밖에..
코어 자바스크립트 | 챕터 6: 프로토타입
·
교재/코어 자바스크립트
프로토타입 prototype 객체 내부에는 인스턴스가 사용할 메서드를 저장합니다. 그러면 __proto__를 통해 이 메서드들에 접근할 수 있게 됩니다 =prototype이 만든 인스턴스를 __proto__를 이용해 참조할 수 있다(둘은 같은 객체를 바라본다) Person.prototype === suzi.__proto__ 단 suzi.__proto__.getName 은 undefined가 나오는데 이는 suzi.__proto__라는 객체가 getName의 this가 되었기 때문이다 식별자가 정의되어 있지 않을 때는 undefined를 반환한다는 규칙 때문에 undefined가 반환된다 __proto__는 생략 가는한 프로퍼티이다 " new 연산자로 constructor를 호출하면 instance가 만들..