분류 전체보기
-
자바스크립트 - scope(스코프)란?JavaScript/기본 2020. 7. 19. 01:17
scope란? 변수에 접근할 수 있는 범위를 의미한다. 이 범위는 변수의 접근성을 관리하는 정책이며, scope에는 global(전역)와 local(지역) 2개의 범위가 존재한다. global(전역) scope const name = "Lim"; // 전역 스코프 function print(){ console.log(name); // Lim } print(); console.log(name); // Lim 먼저 name이라는 변수를 정의하고 print 함수 블록 안과 밖에 console.log(name)을 출력하면 둘 다 같은 값이 나온다. 따라서, 변수 name은 전역 스코프라고 볼 수 있다. 전역 scope로 선언된 변수는 모든 범위에서 사용할 수 있다. local(지역) scope 코드 블록 내부에..
-
[level1] 핸드폰 번호 가리기programmers/level1 2020. 7. 18. 17:46
코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr 문제 설명 : 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 입력 : "01033334444" 출력 : "********4444" 입력 : "027778888" 출력 : "*****8888" 접근 방법 : 일단 출..
-
React - 초기 렌더링과 리렌더링React/기본 2020. 7. 18. 16:31
렌더링이란? 사용자 화면에 View(내용)를 보여 주는 것을 렌더링이라고 한다. 그렇다면 리액트 라이브러리는 뷰(View)를 어떻게 렌더링 하길래 데이터가 변할 때마다 새롭게 리 렌더링 하면서 성능을 아끼고, 최적의 사용자 경험을 제공할 수 있을까?? 이것의 해답은 바로 초기 렌더링과 리렌더링에 있다. 초기 렌더링 리액트는 맨 처음 어떻게 화면에 보여질 지를 다루는 render() 함수가 존재한다. 이 함수는 컴포넌트가 어떻게 생겼는지 정의하는 역할을 한다. render() 특징 render() 함수는 html 형식의 문자열을 반환하지 않고, 뷰가 어떻게 생겼고 어떻게 동작하는지에 대한 정보를 지닌 객체를 반환한다. 또, 컴포넌트 내부에는 또 다른 컴포넌트들이 들어갈 수 있어, render 함수가 실행되..
-
[level1] - 제일 작은 수 제거하기programmers/level1 2020. 7. 14. 19:21
코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 문제 설명 : 정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를 들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 return하고, [10]이면 [-1]을 return합니다. 입력 : [4,3,2,1] 출력 : [4,3,2] 입력 : [10] 출력 : [-1] 접근 방법..
-
자바스크립트 - fetch란?JavaScript/동작원리 2020. 7. 12. 01:18
Fetch의 탄생 배경 fetch가 나오기 전까진 자바스크립트에서는 ajax를 쓰기란 매우 까다로웠다. 또, 익스플로러랑 기타 브라우저가 맞춰져 있지 않다 보니 커먼 라이브러리로 만들어 쓰거나 손쉽게 만들어져 있는 제이쿼리(jQuery)를 이용해왔다. 예를 들면, jQuery의 ajax() 메소드와 같은 것들을 사용해 단지 AJAX 구현만을 목적으로 사용해왔다. $.ajax({ url: "", type: "", cache: , dataType: "", data: "", success: function(data){ }, error: function (request, status, error){ } }); 여기서 AJAX란? JavaScript의 라이브러리 중 하나이며, Asynchronous Javascr..
-
자바스크립트 - 동작 원리JavaScript/동작원리 2020. 7. 5. 20:23
자바스크립트는 싱글 스레드 프로그래밍 언어이다. 싱글 스레드 런타임을 가지고 있다는 의미이다. 이것은 결국 한 번에 하나의 싱글 콜 스택(Call Stack)만을 가지고 있다는 말을 뜻한다. 여기서 싱글 스레드란? 하나의 프로그램은 동시에 하나의 코드만 실행할 수 있다는 것을 말한다. 그렇다면 자바스크립트는 어떻게 작동할까? Call Stack 그림을 보면서 이해해보자. Call Stack은 Data Structure(자료 구조)로 작성한 코드가 실행되는 순서를 기억하고 있다. 함수를 실행하려면 Stack(스택)에 해당하는 함수를 집어넣게 되고, 함수에서 리턴이 일어나면, 스택의 가장 위쪽에서 해당 함수를 꺼내게 된다.(LIFO) 이것이 Call Stack이 하는 일의 전부이다. 이 코드를 실행하면 실행..
-
[level1] - 자연수 뒤집어 배열로 만들기programmers/level1 2020. 7. 4. 02:19
코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 문제 설명 : 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 입력 : 12345 출력 : [5,4,3,2,1] 접근 방법 : 출력값이 배열 타입에 역순으로 정렬된 모습을 보고, 타입이 Number인 12345를 String 타입으로 형 변환하고, spilt("")을 통해 문자열을 각각의 문자들..
-
[level1] 이상한 문자 만들기programmers/level1 2020. 7. 4. 01:32
코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 문제 설명 : 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백 문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 입력 : "try hello world" 출력 : "TrY HeLlO WoRlD" 접근 방법 : function solution(s) { const strArr = s.split(); let Arr = ..