전체 글 (159) 썸네일형 리스트형 [TypeScript] - 타입 추론 타입 추론 - 타입 추론이란 타입스크립트가 코드를 해석해 나가는 동작을 의미한다. 타입 추론의 기본 위와 같이 x에 대한 타입을 따로 지정하지 않더라도 일단 x는 number 로 간주한다 이렇게 변수를 서ㅏㄴ언하거나 초기화 할 때 타입이 추론된다 이외에도 변수 속성 인자의 기본 값 함수의 반환 값 등을 설정할 때 타입 추론이 일어난다 가장 적절한 타입 타입은 보통 몇 개의 표현식을 바탕으로 타입을 추론한다 그리고 그 표현식을 이용하여 가장 근접한 타입을 추론하게ㅐ 되는데 가장 근접한 타입을 가장 적절한 타입이라고 한다 위 변수 arr의 타입을 추론하기 위해서는 배열의 각 아이템을 살펴봐야 한다. 배열의 각 아이템의 타입은 크게 number와 null로 구분된다 이때 Best Common Type 알고리즘.. 프로그래머스[LEVEL2] - 카펫 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 사실 1년 전쯤에 한번 풀었던 문제다 그때는 지금보다도 코테 문제 푸는 걸 어려워 해서 답지를 보고 이해하면서 풀었던 기억이 있다 다시 푸는 지금 문제를 완전 탐색을 이용해서 풀어야 겠다는 접근법도 보이고 그때보다 성장한거 같아서 뿌듯하다 문제는 방금 이야기 한대로 완전 탐색이다 노란 색 격자의 가로 + 2 곱하기 세로 + 2 는 전체 넓이와 같은 값이 나온다는 공식으로 모든 경우를 찾.. [Javascript] - 렉시컬 환경 변수 - 자바스크립트에선 실행 중인 함수 코드 블록, 스크립트 전체는 렉시컬 환경이라 불리는 내부 숨김 연관 객체를 갖는다. - 렉시컬 환경 객체는 두 부분으로 구성된다. 1. 환경 레코드 : 모든 지역 변수를 프로퍼티로 저장하고 있는 객체이다 this 값과 같은 기타 정보도 여기에 저장된다. 2. 외부 렉시컬 환경에 대한 참조: 외부 코드와 연관된다 변수는 특수 내부 객체인 환경 레코드의 프로퍼티일 뿐이다. 변수를 가져오거나 변경 하는 것은 환경 레코드의 프로퍼티를 가져오거나 변경 함을 의미한다. 위 두 줄짜리 코드엔 렉시컬 환경 객체가 하나만 존재한다. 이렇게 스크립트 전체와 관련된 렉시컬 환경은 전역 렉시컬 환경이라고 한다. 위 예제에서 네모 상자는 변수가 저장되는 환경 레코드를 나타내고 붉은 화살.. [React] - Context API Context API 로 데이터 전달하기 - 보통 상위 컴포넌트에서 하위 컴포넌트로 데이터를 전달할 때 속성값이 사용되는데 가꺼ㅏ운 거리에 있는 몇개의 하위 컴포넌트로 전달핧 때는 속성값으로 충분하다 하지만 많은 수의 하위 컴포넌트로 전달할 때는 속성값을 내려주는 코드를 반복적으로 작성해야 하는 문제가 있다. - 이럴 때 Context API를 사용하면 상위 컴포넌트에서 하위에 있는 모든 컴포넌트로 직접 데이터를 전달할 수 있다 이때 중간에 있는 컴포넌트는 Context Data의 존재를 몰라도 되므로 속성값을 반복해서 내려 주던 문제가 사라진다 - createContext 함수를 호출하면 Context 객체가 생성된다 createContext 함수의 구조는 다음과 같다. React.createConte.. 백준 1436 - 영화감독 숌 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 문제 풀이 브루트 포스를 이용해 해결하였다 666이 들어가는 모든 숫자를 카운트하는 방식으로 문제를 해결하였다. [Javascript] - 나머지 매개변수와 spread 문법 나머지 매개변수 ... - 상당수의 자바스크립트 내장 함수는 인수의 개수에 제약을 두지 않는다 . 위 예제 처럼 함수 정의 방법과 상관없이 함수에 넘겨주는 인수의 개수엔 제약이 없다. 함수를 정의할 땐 인수를 두개만 받도록 하고 실제 함수를 호출할 땐 이보다 더 많은 여분의 인수를 전달했지만 에러가 발생하지 않는다 다만 반환 값은 처음 두 개의 인수만을 사용해 계산된다. 위 예제처럼 여분의 매개변수는 그 값들을 담을 배열 이름을 마침표 세 개 ... 뒤에 붙여주면 함수 선언문에 포함 시킬 수 있다 이때 마침표 세 개 ...는 나머지 매개변수들을 한데 모아 배열에 집어넣으라는 의미이다 . 위 예제 처럼 앞 부분의 매개변수는 변수로 그 이외의 매개변수들은 배열로 모을 수도 있다. 이때 주의 할 점은 나머지 .. [Javascript] - 원시값의 메서드 원시값의 메서드 - 원시값 (문자, 숫자, bight, 불린, 심볼, null, undefined) 총 7 가지 - 자바스크립트는 원시값(문자열, 숫자 등)을 마치 객체처럼 다룰 수 있게 해준다. - 원시값에도 객체에서처럼 메서드를 호출할 수 있다 하지만 원시값은 객체가 아니다 객체 - 객체의 장점 중 하나는 함수를 프로퍼티로 저장할 수 있다. - 하지만 위와 같은 기능을 사용하면 시스템 자원이 많이 소모된다는 단점이 있다. - 객체는 원시값보다 무겁고 내부 구조를 유지하기 위해 추가 자원을 사용하기 때문이다. 원시값을 객체처럼 사용하기 1. 문자열이나 숫자와 같은 원시값을 다루어야 하는 작업이 많다 메서드를 사용하면 수월하게 할 수 있다 2. 그런데 원시값은 가능한 빠르고 가벼워야 한다. 자바스크립트는.. [TypeScript] - 제네릭 제네릭이란 ? 제네릭이란 타입을 마치 함수의 파라미터 처럼 사용하는 것을 의미한다. 위 함수는 text 라는 파라미터에 값을 넘겨 받아 text를 반환해준다 'hi' 10 true 등 어떤 값이 들어가더라도 그대로 반환한다 이 관점에서 제네릭을 살펴보면 위 함수는 제네릭 기본 문법이 적용된 형태이다 이제 함수를 호출할 때 아래와 같이 함수 안에서 사용할 타입을 넘겨 줄 수 있다. 위 코드 중 getText('hi') 를 호출할 때 함수에서 제네릭이 어떻게 동작하는지 살펴보면 위 함수에서 제네릭 타입이 이 되는 이유는 getText()함수를 호출할 때 제네릭 값으로 string을 넘겼기 때문이다 제네릭을 사용하는 이유 위 코드는 인자를 하나 넘겨 받아 반환해주는 함수이다 여기서 인자와 반환 값을 모두 st.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 20 다음