React를 사용하는 이유 3가지
·
✏️ Study/⚛️ React
📍1. 유지보수가 쉽다- React는 컴포넌트 기반의 UI 라이브러리이기 때문에 컴포넌트를 적극 활용해 코드를 재사용할 수 있다- Shotgun Surgery를 막을 수 있다(Shotgun Surgery : 변경 사항이 있을 경우 중복 코드를 하나하나 수정해야 하는 것) 📍2. 선언형 프로그래밍 패러다임을 반영- 명령형 프로그래밍 패러다임(제이쿼리)를 지나, 선언형 프로그래밍 패러다임(React)을 반영 📍3. 빠르다- Virtual DOM 을 사용하기 때문에 DOM 을 직접 조작하는 것보다 연산을 덜 수행
백준 22945 < 팀 빌딩 > Python
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/22945 22945번: 팀 빌딩 능력치가 다 다른 개발자 $N$명이 팀 빌딩을 위해 한 줄로 서있다. 하나의 팀을 만들기 위해서는 개발자 2명이 반드시 모여야 한다. 개발자 A와 개발자 B가 팀을 만들 때 팀의 능력치는 아래와 같 www.acmicpc.net 📍알고리즘 분류 - 정렬 - 투 포인터 📍문제 풀이 - 시간 초과를 해결하기 위한 노력1 left와 right 중에서 더 작은 값(min)을 끊임없이 갱신(centering)해가면 된다 만약 큰값을 centering하면, 간격도 좁아지고, 기존 값보다 작아질 수 있기 때문에, 출력할 최댓값을 보존할 수 없기 때문이다 - 시간 초과를 해결하기 위한 노력2 Python에서 변수명을 ..
#8 타입 공간과 값 공간의 심벌 구분하기
·
✏️ Study/🧽 JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍Intro 심벌은 이름이 같더라도 타입 또는 값을 나타낼 수 있으며 서로 관련이 없다 // Cylinder = 타입 interface Cylinder { radius: number; height: number; } // Cylinder = 값 const Cylinder = (radius: number, height: number) => ({radius, height}) - 모든 값은 타입을 갖지만, 모든 타입이 값을 갖는 것은 아니다. - type, interface 키워드는 타입 공간에만 존재한다 - "foo" 는 문자열 리터럴 이거나, 문자열 리터럴 타입일 수 있다 📍class, enum - class와 enum은 상황에 따라 타입과 값 두 가..
백준 20364 < 부동산 다툼 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/20364 20364번: 부동산 다툼 첫 번째 줄에 땅 개수 N과 꽉꽉나라에 사는 오리 수 Q가 공백으로 구분되어 주어진다. (2 ≤ N
[Python] Module
·
✏️ Study/🐍 Python
파이썬 표준 라이브러리 사용해보기📍randomimport randomrandom.randint(1, 10) # 1 ~ 10 에서 랜덤한 정수 1개 리턴 (10도 포함됨) 📍datetimeimport datetime# 현재 시간now = datetime.datetime.now()print(now) # datetime 클래스의 __str__ 에 적용되어 있음print(now.year) # 현재 연도# deltatime은 시간끼리 연산에 사용 가능print(datetime.timedelta(days=31)) # 31 days, 0:00:00
#7 타입이 값들의 집합이라고 생각하기
·
✏️ Study/🧽 JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍타입 : 할당 가능한 값들의 집합 1️⃣모든 변수는 - 런타임 전에 타입을 갖는다 - 런타임 후에는 값을 갖는다 2️⃣타입의 범위 number 타입(집합)에 포함되는 것들 (부분집합) - 42 - 37.25 - "Korea" 는 number의 부분집합이 아님 3️⃣never 타입 : 공집합 - 가장 작은 집합 - 아무 값도 할당할 수 없음 - 예시 const x: never = 12; // 12 는 never 타입에 할당할 수 없음 4️⃣리터럴 타입 : 한가지 값만 포함하는 타입 - 유닛(unit) 타입이라고도 함 - 예시 type A = "A"; type B = "B"; type Twelve = 12; - 2개 이상으로 묶으려면 유니온 타입을 사..
[Python] Class 상속
·
✏️ Study/🐍 Python
📍클래스 상속- 상속받는 클래스를 서브 클래스라고 한다.- 서브 클래스는 부모 클래스의 프로퍼티와 메서드를 받아오며, 서브 클래스에서 이를 따로 정의할 수 있다- 클래스 상속으로 코드 중복을 줄일 수 있다 class Animal: sound = "" def __init__(self, name): self.name = name def speak(self): print("{sound} I'm {name} {sound}".format(name=self.name, sound=self.sound))# 서브 클래스 1class Piglet(Animal): sound = "Oink!" # 프로퍼티 오버라이딩# 서브 클래스 2class Cow(Animal): sou..
백준 14627 < 회사 문화 1 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/14267 14267번: 회사 문화 1 영선회사에는 매우 좋은 문화가 있는데, 바로 상사가 직속 부하를 칭찬하면 그 부하가 부하의 직속 부하를 연쇄적으로 칭찬하는 내리 칭찬이 있다. 즉, 상사가 한 직속 부하를 칭찬하면 그 부하 www.acmicpc.net 📍알고리즘 분류 - 다이나믹 프로그래밍 - 그래프 이론 - 그래프 탐색 - 트리 - 깊이 우선 탐색 - 트리에서의 다이나믹 프로그래밍 📍문제 풀이 트리와 이차원 배열이 주어진다. 이차원 배열은 [정점 번호, 숫자] 형태의 원소를 갖고 있다. 이차원 배열을 순회하며, 정점 번호에 해당하는 정점의 모든 자식 노드에 숫자를 더해주면 된다. - DFS를 사용하는 이유 사실 어차피 모든 그래..